.class public final Lcom/burstly/lib/util/Utils;
.super Ljava/lang/Object;
.source "Utils.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/burstly/lib/util/Utils$FlushedInputStream;,
        Lcom/burstly/lib/util/Utils$DebugWrapper;
    }
.end annotation


# static fields
.field private static final DEVICE_ID_KEY:Ljava/lang/String; = "uniqueDeviceIdKey"

.field private static final EXPIRATION_DELTA:I = 0x4e20

.field private static final IO_BUFFER_SIZE:I = 0x1000

.field private static final JSON_PROCESSOR:Lcom/burstly/lib/util/json/IJsonProcessor; = null

.field private static final LOG:Lcom/burstly/lib/util/LoggerExt; = null

.field private static final MRAID_FLAG_MASK:I = 0x800

.field private static final ORMMA_FLAG_MASK:I = 0x400

.field private static final OVERRIDE_HARDWARE_ACCEL_DISABLE:I = 0x2000

.field private static final READ_PHONE_STATE_PERMISSION:Ljava/util/List; = null
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field

.field private static final TAG:Ljava/lang/String; = "Utils"

.field private static final THIRDPARTY_CLASS_TEMPLATE:Ljava/lang/String; = "com.burstly.lib.component.networkcomponent.%s.%s"

.field private static final UNIQUE_DEVICE_ID:Ljava/lang/String; = "uniqueDeviceId"

.field private static sApplicationContext:Landroid/content/Context;

.field private static sCCSString:Ljava/lang/String;

.field private static sEncAndroidId:Ljava/lang/String;

.field private static sEncDeviceId:Ljava/lang/String;

.field private static sEncMac:Ljava/lang/String;

.field private static sMccCode:Ljava/lang/String;

.field private static sMncCode:Ljava/lang/String;

.field private static sRawAndroidId:Ljava/lang/String;

.field private static sRawDeviceId:Ljava/lang/String;

.field private static sRawMac:Ljava/lang/String;

.field private static sRawMacSha1:Ljava/lang/String;

.field private static sSha1DeviceId:Ljava/lang/String;

.field private static sUserWebClient:Ljava/lang/String;


# direct methods
.method static constructor <clinit>()V
    .locals 3

    .prologue
    .line 169
    invoke-static {}, Lcom/burstly/lib/util/LoggerExt;->getInstance()Lcom/burstly/lib/util/LoggerExt;

    move-result-object v0

    sput-object v0, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    .line 174
    invoke-static {}, Lcom/burstly/lib/util/json/JsonProcessorFactory;->getCurrentJsonProcessor()Lcom/burstly/lib/util/json/IJsonProcessor;

    move-result-object v0

    sput-object v0, Lcom/burstly/lib/util/Utils;->JSON_PROCESSOR:Lcom/burstly/lib/util/json/IJsonProcessor;

    .line 179
    const/4 v0, 0x1

    new-array v0, v0, [Ljava/lang/String;

    const/4 v1, 0x0

    const-string v2, "android.permission.READ_PHONE_STATE"

    aput-object v2, v0, v1

    invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    sput-object v0, Lcom/burstly/lib/util/Utils;->READ_PHONE_STATE_PERMISSION:Ljava/util/List;

    .line 210
    const-string v0, ""

    sput-object v0, Lcom/burstly/lib/util/Utils;->sEncAndroidId:Ljava/lang/String;

    .line 215
    const-string v0, ""

    sput-object v0, Lcom/burstly/lib/util/Utils;->sEncDeviceId:Ljava/lang/String;

    .line 231
    const-string v0, ""

    sput-object v0, Lcom/burstly/lib/util/Utils;->sEncMac:Ljava/lang/String;

    .line 242
    const-string v0, "0"

    sput-object v0, Lcom/burstly/lib/util/Utils;->sMccCode:Ljava/lang/String;

    .line 247
    const-string v0, "0"

    sput-object v0, Lcom/burstly/lib/util/Utils;->sMncCode:Ljava/lang/String;

    return-void
.end method

.method private constructor <init>()V
    .locals 0

    .prologue
    .line 262
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 263
    return-void
.end method

.method public static abortRequestTask(Lcom/burstly/lib/network/request/AbortableAsyncTask;)V
    .locals 0
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/burstly/lib/network/request/AbortableAsyncTask",
            "<*>;)V"
        }
    .end annotation

    .prologue
    .line 937
    .local p0, task:Lcom/burstly/lib/network/request/AbortableAsyncTask;,"Lcom/burstly/lib/network/request/AbortableAsyncTask<*>;"
    if-eqz p0, :cond_0

    .line 938
    invoke-virtual {p0}, Lcom/burstly/lib/network/request/AbortableAsyncTask;->abortRequest()V

    .line 940
    :cond_0
    return-void
.end method

.method static synthetic access$000()Lcom/burstly/lib/util/LoggerExt;
    .locals 1

    .prologue
    .line 125
    sget-object v0, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    return-object v0
.end method

.method public static addInStackTrace(Ljava/lang/Throwable;Ljava/lang/String;)V
    .locals 7
    .parameter "e"
    .parameter "addText"

    .prologue
    .line 2078
    invoke-virtual {p0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;

    move-result-object v2

    .line 2079
    .local v2, oldStackTrace:[Ljava/lang/StackTraceElement;
    array-length v4, v2

    add-int/lit8 v4, v4, 0x1

    new-array v1, v4, [Ljava/lang/StackTraceElement;

    .line 2080
    .local v1, newStackTrace:[Ljava/lang/StackTraceElement;
    new-instance v3, Ljava/lang/StackTraceElement;

    const-string v4, " "

    const/4 v5, 0x0

    const/4 v6, 0x1

    invoke-direct {v3, p1, v4, v5, v6}, Ljava/lang/StackTraceElement;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V

    .line 2081
    .local v3, ste:Ljava/lang/StackTraceElement;
    const/4 v4, 0x0

    aput-object v3, v1, v4

    .line 2082
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    array-length v4, v2

    if-ge v0, v4, :cond_0

    .line 2083
    add-int/lit8 v4, v0, 0x1

    aget-object v5, v2, v0

    aput-object v5, v1, v4

    .line 2082
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 2085
    :cond_0
    invoke-virtual {p0, v1}, Ljava/lang/Throwable;->setStackTrace([Ljava/lang/StackTraceElement;)V

    .line 2086
    return-void
.end method

.method public static arrayToString([Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    .locals 4
    .parameter "array"
    .parameter "separator"

    .prologue
    .line 921
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    .line 922
    .local v2, string:Ljava/lang/StringBuilder;
    const/4 v0, 0x0

    .local v0, i:I
    array-length v1, p0

    .local v1, len:I
    :goto_0
    if-ge v0, v1, :cond_1

    .line 923
    aget-object v3, p0, v0

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    .line 924
    add-int/lit8 v3, v0, 0x1

    if-eq v3, v1, :cond_0

    .line 925
    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 922
    :cond_0
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 928
    :cond_1
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    return-object v3
.end method

.method private static bytesToString([B)Ljava/lang/String;
    .locals 8
    .parameter "bytes"

    .prologue
    .line 1103
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    .line 1104
    .local v2, buf:Ljava/lang/StringBuilder;
    const/4 v3, 0x0

    .line 1105
    .local v3, hexString:Ljava/lang/String;
    move-object v0, p0

    .local v0, arr$:[B
    array-length v5, v0

    .local v5, len$:I
    const/4 v4, 0x0

    .local v4, i$:I
    :goto_0
    if-ge v4, v5, :cond_1

    aget-byte v1, v0, v4

    .line 1106
    .local v1, bt:B
    and-int/lit16 v6, v1, 0xff

    invoke-static {v6}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;

    move-result-object v3

    .line 1107
    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v6

    const/4 v7, 0x1

    if-ne v6, v7, :cond_0

    .line 1108
    const-string v6, "0"

    invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 1105
    :goto_1
    add-int/lit8 v4, v4, 0x1

    goto :goto_0

    .line 1110
    :cond_0
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_1

    .line 1113
    .end local v1           #bt:B
    :cond_1
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    return-object v6
.end method

.method public static canWriteToSDCard()Z
    .locals 3

    .prologue
    .line 715
    invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;

    move-result-object v0

    .line 716
    .local v0, externalStorageDirectory:Ljava/io/File;
    invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;

    move-result-object v1

    const-string v2, "mounted"

    invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_0

    invoke-virtual {v0}, Ljava/io/File;->canWrite()Z

    move-result v1

    if-eqz v1, :cond_0

    invoke-virtual {v0}, Ljava/io/File;->canRead()Z

    move-result v1

    if-eqz v1, :cond_0

    const/4 v1, 0x1

    :goto_0
    return v1

    :cond_0
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public static cancelTask(Landroid/os/AsyncTask;)V
    .locals 1
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/os/AsyncTask",
            "<***>;)V"
        }
    .end annotation

    .prologue
    .line 908
    .local p0, task:Landroid/os/AsyncTask;,"Landroid/os/AsyncTask<***>;"
    if-eqz p0, :cond_0

    .line 909
    const/4 v0, 0x1

    invoke-virtual {p0, v0}, Landroid/os/AsyncTask;->cancel(Z)Z

    .line 911
    :cond_0
    return-void
.end method

.method public static capitalize(Ljava/lang/String;)Ljava/lang/String;
    .locals 5
    .parameter "str"

    .prologue
    const/4 v4, 0x1

    const/4 v3, 0x0

    .line 661
    const-string v0, "%s%s"

    const/4 v1, 0x2

    new-array v1, v1, [Ljava/lang/Object;

    invoke-virtual {p0, v3}, Ljava/lang/String;->charAt(I)C

    move-result v2

    invoke-static {v2}, Ljava/lang/Character;->toUpperCase(C)C

    move-result v2

    invoke-static {v2}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;

    move-result-object v2

    aput-object v2, v1, v3

    invoke-virtual {p0, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v2

    aput-object v2, v1, v4

    invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method private static checkFlag(Ljava/lang/Integer;I)Z
    .locals 1
    .parameter "flag"
    .parameter "mask"

    .prologue
    .line 1979
    if-eqz p0, :cond_0

    invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    and-int/2addr v0, p1

    if-eqz v0, :cond_0

    const/4 v0, 0x1

    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x0

    goto :goto_0
.end method

.method public static checkIsUiThread()V
    .locals 2
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/burstly/lib/exception/WrongThreadException;
        }
    .end annotation

    .prologue
    .line 2054
    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v0

    sget-object v1, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-virtual {v1}, Landroid/os/Looper;->getThread()Ljava/lang/Thread;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_0

    .line 2055
    new-instance v0, Lcom/burstly/lib/exception/WrongThreadException;

    const-string v1, "Code must be invoked from the UI thread"

    invoke-direct {v0, v1}, Lcom/burstly/lib/exception/WrongThreadException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 2057
    :cond_0
    return-void
.end method

.method public static checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V
    .locals 1
    .parameter "param"
    .parameter "message"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/IllegalArgumentException;
        }
    .end annotation

    .prologue
    .line 1812
    if-nez p0, :cond_0

    .line 1813
    new-instance v0, Ljava/lang/IllegalArgumentException;

    invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1815
    :cond_0
    return-void
.end method

.method public static closeStream(Ljava/io/Closeable;)V
    .locals 5
    .parameter "output"

    .prologue
    .line 689
    if-eqz p0, :cond_0

    .line 691
    :try_start_0
    invoke-interface {p0}, Ljava/io/Closeable;->close()V
    :try_end_0
    .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0

    .line 697
    :cond_0
    :goto_0
    return-void

    .line 693
    :catch_0
    move-exception v0

    .line 694
    .local v0, e:Ljava/io/IOException;
    sget-object v1, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v2, "Utils"

    const-string v3, "Error while closing stream!"

    const/4 v4, 0x0

    new-array v4, v4, [Ljava/lang/Object;

    invoke-virtual {v1, v2, v3, v4}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_0
.end method

.method public static configureServerRequestBean(Landroid/content/Context;Lcom/burstly/lib/service/ServerRequestBean;)V
    .locals 3
    .parameter "context"
    .parameter "bean"

    .prologue
    .line 1504
    invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setBundleId(Ljava/lang/String;)V

    .line 1505
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getApplicationVersionName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setApplicationVersion(Ljava/lang/String;)V

    .line 1506
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getApplicationVersionCode()I

    move-result v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setApplicationVersionCode(I)V

    .line 1507
    invoke-static {}, Lcom/burstly/lib/feature/FeatureFactory;->getCurrencyFeature()Lcom/burstly/lib/feature/currency/ICurrencyManager;

    move-result-object v0

    .line 1508
    .local v0, cManager:Lcom/burstly/lib/feature/currency/ICurrencyManager;
    if-eqz v0, :cond_0

    .line 1513
    :cond_0
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->encryptedAndroidId(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setAndroidId(Ljava/lang/String;)V

    .line 1514
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getCarrier()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setCarrier(Ljava/lang/String;)V

    .line 1515
    const-string v2, "yyyy-MM-dd\'T\'HH:mm:ss\'Z\'"

    invoke-static {v2}, Lcom/burstly/lib/util/Utils;->getDateTime(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setClientDateTime(Ljava/lang/String;)V

    .line 1516
    invoke-static {}, Lcom/burstly/lib/network/request/RequestManager;->getConnectionInfo()Lcom/burstly/lib/network/request/RequestManager$ConnectionInfo;

    move-result-object v1

    .line 1517
    .local v1, connectionInfo:Lcom/burstly/lib/network/request/RequestManager$ConnectionInfo;
    invoke-virtual {v1}, Lcom/burstly/lib/network/request/RequestManager$ConnectionInfo;->getCode()I

    move-result v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setConnectionType(I)V

    .line 1518
    invoke-virtual {v1}, Lcom/burstly/lib/network/request/RequestManager$ConnectionInfo;->getSubtipeName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setConnectionTypeDetailed(Ljava/lang/String;)V

    .line 1519
    invoke-static {p0, p1}, Lcom/burstly/lib/util/Utils;->setScreenInfo(Landroid/content/Context;Lcom/burstly/lib/service/ServerRequestBean;)V

    .line 1520
    sget-object v2, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setDevice(Ljava/lang/String;)V

    .line 1521
    sget-object v2, Landroid/os/Build;->BRAND:Ljava/lang/String;

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setDeviceFamily(Ljava/lang/String;)V

    .line 1522
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->getDeviceId(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setDeviceId(Ljava/lang/String;)V

    .line 1523
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getLocalIpAddress()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setIpAddress(Ljava/lang/String;)V

    .line 1524
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getMacSha1()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setMac(Ljava/lang/String;)V

    .line 1525
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getMccCode()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setMCC(Ljava/lang/String;)V

    .line 1526
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getMncCode()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setMNC(Ljava/lang/String;)V

    .line 1527
    sget-object v2, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setPlatformVersion(Ljava/lang/String;)V

    .line 1528
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->getUserAgentString(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setWebUserAgent(Ljava/lang/String;)V

    .line 1531
    const-string v2, "2.0"

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setMraidVersion(Ljava/lang/String;)V

    .line 1532
    const-string v2, "1.1"

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setOrmmaVersion(Ljava/lang/String;)V

    .line 1533
    const-string v2, "2"

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setRewardsVersion(Ljava/lang/String;)V

    .line 1534
    return-void
.end method

.method public static decrypt(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .locals 1
    .parameter "key"
    .parameter "string"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    .prologue
    .line 1365
    invoke-static {p0, p1}, Lcom/burstly/lib/util/Crypto;->decrypt(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static encodeUrl(Ljava/lang/String;)Ljava/lang/String;
    .locals 2
    .parameter "rawUrl"

    .prologue
    .line 1989
    if-nez p0, :cond_0

    const/4 v0, 0x0

    :goto_0
    return-object v0

    :cond_0
    const-string v0, " "

    const-string v1, "%20"

    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    goto :goto_0
.end method

.method public static encryp(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .locals 1
    .parameter "key"
    .parameter "string"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    .prologue
    .line 1353
    invoke-static {p0, p1}, Lcom/burstly/lib/util/Crypto;->encrypt(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method private static encryptId(Ljava/lang/String;)Ljava/lang/String;
    .locals 5
    .parameter "deviceId"

    .prologue
    .line 1336
    :try_start_0
    const-string v1, "bUr$tleeeK3y\u0000\u0000\u0000\u0000"

    invoke-static {v1, p0}, Lcom/burstly/lib/util/Crypto;->encrypt(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v1

    .line 1341
    :goto_0
    return-object v1

    .line 1338
    :catch_0
    move-exception v0

    .line 1339
    .local v0, e:Ljava/lang/Exception;
    sget-object v1, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v2, "Utils"

    invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    new-array v4, v4, [Ljava/lang/Object;

    invoke-virtual {v1, v2, v3, v4}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 1341
    const-string v1, ""

    goto :goto_0
.end method

.method public static declared-synchronized encryptedAndroidId(Landroid/content/Context;)Ljava/lang/String;
    .locals 6
    .parameter "context"

    .prologue
    .line 1292
    const-class v2, Lcom/burstly/lib/util/Utils;

    monitor-enter v2

    :try_start_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sEncAndroidId:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v1

    if-nez v1, :cond_0

    .line 1293
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->getRawAndroidId(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v0

    .line 1294
    .local v0, rawAndroidId:Ljava/lang/String;
    if-eqz v0, :cond_1

    .line 1295
    invoke-static {v0}, Lcom/burstly/lib/util/Utils;->encryptId(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    sput-object v1, Lcom/burstly/lib/util/Utils;->sEncAndroidId:Ljava/lang/String;

    .line 1300
    .end local v0           #rawAndroidId:Ljava/lang/String;
    :cond_0
    :goto_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sEncAndroidId:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    monitor-exit v2

    return-object v1

    .line 1297
    .restart local v0       #rawAndroidId:Ljava/lang/String;
    :cond_1
    :try_start_1
    sget-object v1, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "Current android id is null, could not encrypt id."

    const/4 v5, 0x0

    new-array v5, v5, [Ljava/lang/Object;

    invoke-virtual {v1, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    goto :goto_0

    .line 1292
    .end local v0           #rawAndroidId:Ljava/lang/String;
    :catchall_0
    move-exception v1

    monitor-exit v2

    throw v1
.end method

.method public static declared-synchronized encryptedDeviceId(Landroid/content/Context;)Ljava/lang/String;
    .locals 9
    .parameter "context"

    .prologue
    const/4 v2, 0x0

    .line 1311
    const-class v5, Lcom/burstly/lib/util/Utils;

    monitor-enter v5

    const/4 v4, 0x0

    :try_start_0
    sget-object v6, Lcom/burstly/lib/util/Utils;->READ_PHONE_STATE_PERMISSION:Ljava/util/List;

    const/4 v7, 0x0

    invoke-static {v4, v6, v7}, Lcom/burstly/lib/util/ManifestValidator;->customValidate(Ljava/util/List;Ljava/util/List;Ljava/util/List;)Lcom/burstly/lib/util/ManifestValidator$ValidationResults;

    move-result-object v1

    .line 1312
    .local v1, results:Lcom/burstly/lib/util/ManifestValidator$ValidationResults;
    invoke-virtual {v1}, Lcom/burstly/lib/util/ManifestValidator$ValidationResults;->getMandatoryPermissions()Ljava/util/List;

    move-result-object v4

    invoke-interface {v4}, Ljava/util/List;->isEmpty()Z

    move-result v4

    if-eqz v4, :cond_1

    sget-object v4, Lcom/burstly/lib/util/Utils;->sEncDeviceId:Ljava/lang/String;

    invoke-virtual {v4}, Ljava/lang/String;->length()I

    move-result v4

    if-nez v4, :cond_1

    .line 1313
    const-string v4, "phone"

    invoke-virtual {p0, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Landroid/telephony/TelephonyManager;

    .line 1314
    .local v3, tManager:Landroid/telephony/TelephonyManager;
    if-eqz v3, :cond_0

    invoke-virtual {v3}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;

    move-result-object v2

    .line 1315
    .local v2, sDeviceId:Ljava/lang/String;
    :cond_0
    if-eqz v2, :cond_2

    .line 1316
    invoke-static {v2}, Lcom/burstly/lib/util/Utils;->encryptId(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    sput-object v4, Lcom/burstly/lib/util/Utils;->sEncDeviceId:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0

    .line 1325
    .end local v1           #results:Lcom/burstly/lib/util/ManifestValidator$ValidationResults;
    .end local v2           #sDeviceId:Ljava/lang/String;
    .end local v3           #tManager:Landroid/telephony/TelephonyManager;
    :cond_1
    :goto_0
    :try_start_1
    sget-object v4, Lcom/burstly/lib/util/Utils;->sEncDeviceId:Ljava/lang/String;
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    monitor-exit v5

    return-object v4

    .line 1318
    .restart local v1       #results:Lcom/burstly/lib/util/ManifestValidator$ValidationResults;
    .restart local v2       #sDeviceId:Ljava/lang/String;
    .restart local v3       #tManager:Landroid/telephony/TelephonyManager;
    :cond_2
    :try_start_2
    sget-object v4, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v6, "Utils"

    const-string v7, "Current device id is null, could not encrypt id."

    const/4 v8, 0x0

    new-array v8, v8, [Ljava/lang/Object;

    invoke-virtual {v4, v6, v7, v8}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    :try_end_2
    .catchall {:try_start_2 .. :try_end_2} :catchall_0
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_2 .. :try_end_2} :catch_0

    goto :goto_0

    .line 1322
    .end local v1           #results:Lcom/burstly/lib/util/ManifestValidator$ValidationResults;
    .end local v2           #sDeviceId:Ljava/lang/String;
    .end local v3           #tManager:Landroid/telephony/TelephonyManager;
    :catch_0
    move-exception v0

    .line 1323
    .local v0, e:Landroid/content/pm/PackageManager$NameNotFoundException;
    :try_start_3
    sget-object v4, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v6, "Utils"

    invoke-static {v0}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;

    move-result-object v7

    const/4 v8, 0x0

    new-array v8, v8, [Ljava/lang/Object;

    invoke-virtual {v4, v6, v7, v8}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    :try_end_3
    .catchall {:try_start_3 .. :try_end_3} :catchall_0

    goto :goto_0

    .line 1311
    .end local v0           #e:Landroid/content/pm/PackageManager$NameNotFoundException;
    :catchall_0
    move-exception v4

    monitor-exit v5

    throw v4
.end method

.method public static declared-synchronized encryptedMac()Ljava/lang/String;
    .locals 3

    .prologue
    .line 1157
    const-class v2, Lcom/burstly/lib/util/Utils;

    monitor-enter v2

    :try_start_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sEncMac:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v1

    if-nez v1, :cond_0

    .line 1158
    sget-object v1, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-static {v1}, Lcom/burstly/lib/util/Utils;->getRawMac(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v0

    .line 1159
    .local v0, rawMac:Ljava/lang/String;
    invoke-static {v0}, Lcom/burstly/lib/util/Utils;->encryptId(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    sput-object v1, Lcom/burstly/lib/util/Utils;->sEncMac:Ljava/lang/String;

    .line 1160
    sget-object v1, Lcom/burstly/lib/util/Utils;->sEncMac:Ljava/lang/String;

    if-nez v1, :cond_0

    .line 1161
    sput-object v0, Lcom/burstly/lib/util/Utils;->sEncMac:Ljava/lang/String;

    .line 1164
    :cond_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sEncMac:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    monitor-exit v2

    return-object v1

    .line 1157
    :catchall_0
    move-exception v1

    monitor-exit v2

    throw v1
.end method

.method public static extractFactoryClassName(Ljava/lang/String;)Ljava/lang/String;
    .locals 1
    .parameter "networkName"

    .prologue
    .line 377
    const-string v0, "AdaptorFactory"

    invoke-static {p0, v0}, Lcom/burstly/lib/util/Utils;->getClassName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method private static fetchBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;
    .locals 6
    .parameter "address"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/net/MalformedURLException;,
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 1421
    new-instance v3, Ljava/net/URL;

    const-string v4, " "

    const-string v5, "%20"

    invoke-virtual {p0, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/net/URL;-><init>(Ljava/lang/String;)V

    .line 1422
    .local v3, url:Ljava/net/URL;
    invoke-virtual {v3}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;

    move-result-object v2

    .line 1423
    .local v2, connection:Ljava/net/URLConnection;
    const/4 v4, 0x1

    invoke-virtual {v2, v4}, Ljava/net/URLConnection;->setUseCaches(Z)V

    .line 1424
    sget-object v4, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    if-eqz v4, :cond_0

    .line 1425
    const-string v4, "User-Agent"

    sget-object v5, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-static {v5}, Lcom/burstly/lib/util/Utils;->getUserAgentString(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v2, v4, v5}, Ljava/net/URLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 1427
    :cond_0
    invoke-virtual {v2}, Ljava/net/URLConnection;->connect()V

    .line 1428
    new-instance v0, Lcom/burstly/lib/util/Utils$FlushedInputStream;

    invoke-virtual {v2}, Ljava/net/URLConnection;->getInputStream()Ljava/io/InputStream;

    move-result-object v4

    invoke-direct {v0, v4}, Lcom/burstly/lib/util/Utils$FlushedInputStream;-><init>(Ljava/io/InputStream;)V

    .line 1429
    .local v0, bis:Lcom/burstly/lib/util/Utils$FlushedInputStream;
    invoke-static {v0}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;

    move-result-object v1

    .line 1430
    .local v1, bm:Landroid/graphics/Bitmap;
    invoke-virtual {v0}, Lcom/burstly/lib/util/Utils$FlushedInputStream;->close()V

    .line 1431
    return-object v1
.end method

.method private static filterColor(Ljava/lang/String;)Ljava/lang/String;
    .locals 2
    .parameter "hexString"

    .prologue
    .line 547
    const-string v0, "#"

    invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_0

    .line 552
    .end local p0
    :goto_0
    return-object p0

    .line 549
    .restart local p0
    :cond_0
    const-string v0, "0x"

    invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_1

    const-string v0, "0X"

    invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_2

    .line 550
    :cond_1
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "#"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const/4 v1, 0x2

    invoke-virtual {p0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto :goto_0

    .line 552
    :cond_2
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "#"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto :goto_0
.end method

.method public static forceHardwareAccelerationTo(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;)Ljava/lang/Boolean;
    .locals 5
    .parameter "data"

    .prologue
    const/4 v2, 0x0

    .line 345
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;->getAdType()Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;

    move-result-object v0

    .line 346
    .local v0, adType:Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;
    if-eqz v0, :cond_0

    invoke-virtual {v0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;->getExtendedProperty()Ljava/lang/Integer;

    move-result-object v3

    const/16 v4, 0x2000

    invoke-static {v3, v4}, Lcom/burstly/lib/util/Utils;->checkFlag(Ljava/lang/Integer;I)Z

    move-result v3

    if-eqz v3, :cond_0

    const/4 v1, 0x1

    .line 348
    .local v1, forceDisable:Z
    :goto_0
    if-eqz v1, :cond_1

    invoke-static {v2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v2

    :goto_1
    return-object v2

    .end local v1           #forceDisable:Z
    :cond_0
    move v1, v2

    .line 346
    goto :goto_0

    .line 348
    .restart local v1       #forceDisable:Z
    :cond_1
    const/4 v2, 0x0

    goto :goto_1
.end method

.method public static fromJson(Ljava/lang/String;)Lcom/burstly/lib/network/ResponseObject;
    .locals 1
    .parameter "jsonString"

    .prologue
    .line 411
    sget-object v0, Lcom/burstly/lib/util/Utils;->JSON_PROCESSOR:Lcom/burstly/lib/util/json/IJsonProcessor;

    invoke-interface {v0, p0}, Lcom/burstly/lib/util/json/IJsonProcessor;->fromJson(Ljava/lang/String;)Lcom/burstly/lib/network/ResponseObject;

    move-result-object v0

    return-object v0
.end method

.method public static fromJson(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    .locals 1
    .parameter "jsonString"
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/lang/String;",
            "Ljava/lang/Class",
            "<TT;>;)TT;"
        }
    .end annotation

    .prologue
    .line 401
    .local p1, targetClass:Ljava/lang/Class;,"Ljava/lang/Class<TT;>;"
    sget-object v0, Lcom/burstly/lib/util/Utils;->JSON_PROCESSOR:Lcom/burstly/lib/util/json/IJsonProcessor;

    invoke-interface {v0, p0, p1}, Lcom/burstly/lib/util/json/IJsonProcessor;->fromJson(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    return-object v0
.end method

.method public static fromJsonToListOfStrings(Ljava/lang/String;)Ljava/util/List;
    .locals 1
    .parameter "jsonString"
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            ")",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .prologue
    .line 421
    sget-object v0, Lcom/burstly/lib/util/Utils;->JSON_PROCESSOR:Lcom/burstly/lib/util/json/IJsonProcessor;

    invoke-interface {v0, p0}, Lcom/burstly/lib/util/json/IJsonProcessor;->fromJsonToListOfStrings(Ljava/lang/String;)Ljava/util/List;

    move-result-object v0

    return-object v0
.end method

.method public static generateUID()Ljava/lang/String;
    .locals 3

    .prologue
    .line 705
    invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;

    move-result-object v1

    invoke-virtual {v1}, Ljava/util/UUID;->toString()Ljava/lang/String;

    move-result-object v0

    .line 706
    .local v0, uuid:Ljava/lang/String;
    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v1

    add-int/lit8 v1, v1, -0x8

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v2

    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v1

    return-object v1
.end method

.method private static generateUniqueId(Landroid/content/Context;)Ljava/lang/String;
    .locals 7
    .parameter "context"

    .prologue
    const/4 v6, 0x0

    .line 1375
    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v3

    const-string v4, "uniqueDeviceId"

    invoke-virtual {v3, v4, v6}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object v2

    .line 1377
    .local v2, sharedPreferences:Landroid/content/SharedPreferences;
    const-string v3, "uniqueDeviceIdKey"

    const-string v4, ""

    invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 1378
    .local v0, generateUID:Ljava/lang/String;
    const-string v3, ""

    invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-nez v3, :cond_0

    move-object v1, v0

    .line 1386
    .end local v0           #generateUID:Ljava/lang/String;
    .local v1, generateUID:Ljava/lang/String;
    :goto_0
    return-object v1

    .line 1381
    .end local v1           #generateUID:Ljava/lang/String;
    .restart local v0       #generateUID:Ljava/lang/String;
    :cond_0
    invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;

    move-result-object v3

    invoke-virtual {v3}, Ljava/util/UUID;->toString()Ljava/lang/String;

    move-result-object v0

    .line 1382
    invoke-interface {v2}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;

    move-result-object v3

    const-string v4, "uniqueDeviceIdKey"

    invoke-interface {v3, v4, v0}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;

    move-result-object v3

    invoke-interface {v3}, Landroid/content/SharedPreferences$Editor;->commit()Z

    move-result v3

    if-nez v3, :cond_1

    .line 1383
    sget-object v3, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v4, "Utils"

    const-string v5, "Can not save unique device id in preferences! Your device will not be tracked on server."

    new-array v6, v6, [Ljava/lang/Object;

    invoke-virtual {v3, v4, v5, v6}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    :cond_1
    move-object v1, v0

    .line 1386
    .end local v0           #generateUID:Ljava/lang/String;
    .restart local v1       #generateUID:Ljava/lang/String;
    goto :goto_0
.end method

.method public static get3rdPartySdkName(Ljava/lang/String;)Ljava/lang/String;
    .locals 2
    .parameter "params"

    .prologue
    .line 869
    const/16 v1, 0x3f

    invoke-virtual {p0, v1}, Ljava/lang/String;->indexOf(I)I

    move-result v0

    .line 870
    .local v0, index:I
    const/4 v1, -0x1

    if-eq v0, v1, :cond_0

    .line 871
    const/4 v1, 0x0

    invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v1

    .line 873
    :goto_0
    return-object v1

    :cond_0
    const-string v1, ""

    goto :goto_0
.end method

.method public static get3rdPartySdkParams(Ljava/lang/String;)Ljava/lang/String;
    .locals 2
    .parameter "params"

    .prologue
    .line 883
    const/16 v1, 0x7b

    invoke-virtual {p0, v1}, Ljava/lang/String;->indexOf(I)I

    move-result v0

    .line 884
    .local v0, index:I
    const/4 v1, -0x1

    if-eq v0, v1, :cond_0

    .line 885
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v1

    .line 887
    :goto_0
    return-object v1

    :cond_0
    const-string v1, ""

    goto :goto_0
.end method

.method public static getAppPackage(Landroid/content/Context;)Ljava/lang/String;
    .locals 7
    .parameter "context"

    .prologue
    const/4 v6, 0x0

    .line 1678
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v2

    .line 1680
    .local v2, pm:Landroid/content/pm/PackageManager;
    :try_start_0
    invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    invoke-virtual {v2, v3, v4}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;

    move-result-object v1

    .line 1681
    .local v1, pi:Landroid/content/pm/PackageInfo;
    iget-object v3, v1, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
    :try_end_0
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0

    .line 1686
    .end local v1           #pi:Landroid/content/pm/PackageInfo;
    :goto_0
    return-object v3

    .line 1683
    :catch_0
    move-exception v0

    .line 1684
    .local v0, e:Landroid/content/pm/PackageManager$NameNotFoundException;
    sget-object v3, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v4, "Utils"

    const-string v5, "Could not get package name."

    new-array v6, v6, [Ljava/lang/Object;

    invoke-virtual {v3, v4, v5, v6}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 1686
    const-string v3, ""

    goto :goto_0
.end method

.method public static getApplicationContext()Landroid/content/Context;
    .locals 1

    .prologue
    .line 622
    sget-object v0, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    return-object v0
.end method

.method public static getApplicationVersionCode()I
    .locals 8

    .prologue
    const/4 v7, 0x0

    .line 1896
    sget-object v4, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-virtual {v4}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v3

    .line 1897
    .local v3, pm:Landroid/content/pm/PackageManager;
    const/4 v0, 0x0

    .line 1899
    .local v0, appVersion:I
    :try_start_0
    sget-object v4, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v4

    const/4 v5, 0x0

    invoke-virtual {v3, v4, v5}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;

    move-result-object v2

    .line 1900
    .local v2, pInfo:Landroid/content/pm/PackageInfo;
    iget v0, v2, Landroid/content/pm/PackageInfo;->versionCode:I
    :try_end_0
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0

    .line 1905
    .end local v2           #pInfo:Landroid/content/pm/PackageInfo;
    :goto_0
    return v0

    .line 1902
    :catch_0
    move-exception v1

    .line 1903
    .local v1, exception:Landroid/content/pm/PackageManager$NameNotFoundException;
    sget-object v4, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v5, "Utils"

    invoke-virtual {v1}, Landroid/content/pm/PackageManager$NameNotFoundException;->getMessage()Ljava/lang/String;

    move-result-object v6

    new-array v7, v7, [Ljava/lang/Object;

    invoke-virtual {v4, v5, v6, v7}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_0
.end method

.method public static getApplicationVersionName()Ljava/lang/String;
    .locals 8

    .prologue
    const/4 v7, 0x0

    .line 1877
    sget-object v4, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-virtual {v4}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v3

    .line 1878
    .local v3, pm:Landroid/content/pm/PackageManager;
    const-string v0, ""

    .line 1880
    .local v0, appVersion:Ljava/lang/String;
    :try_start_0
    sget-object v4, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v4

    const/4 v5, 0x0

    invoke-virtual {v3, v4, v5}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;

    move-result-object v2

    .line 1881
    .local v2, pInfo:Landroid/content/pm/PackageInfo;
    iget-object v0, v2, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
    :try_end_0
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0

    .line 1886
    .end local v2           #pInfo:Landroid/content/pm/PackageInfo;
    :goto_0
    return-object v0

    .line 1883
    :catch_0
    move-exception v1

    .line 1884
    .local v1, exception:Landroid/content/pm/PackageManager$NameNotFoundException;
    sget-object v4, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v5, "Utils"

    invoke-virtual {v1}, Landroid/content/pm/PackageManager$NameNotFoundException;->getMessage()Ljava/lang/String;

    move-result-object v6

    new-array v7, v7, [Ljava/lang/Object;

    invoke-virtual {v4, v5, v6, v7}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_0
.end method

.method public static getBitmapByUrl(Ljava/lang/String;)Landroid/graphics/Bitmap;
    .locals 7
    .parameter "url"

    .prologue
    const/4 v5, 0x1

    const/4 v6, 0x0

    .line 1397
    :try_start_0
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->fetchBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;
    :try_end_0
    .catch Ljava/net/MalformedURLException; {:try_start_0 .. :try_end_0} :catch_0
    .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_2

    move-result-object v2

    .line 1409
    :goto_0
    return-object v2

    .line 1399
    :catch_0
    move-exception v0

    .line 1400
    .local v0, e:Ljava/net/MalformedURLException;
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "Url for image is malformed: {0}"

    new-array v5, v5, [Ljava/lang/Object;

    aput-object p0, v5, v6

    invoke-virtual {v2, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 1409
    .end local v0           #e:Ljava/net/MalformedURLException;
    :goto_1
    const/4 v2, 0x0

    goto :goto_0

    .line 1402
    :catch_1
    move-exception v0

    .line 1403
    .local v0, e:Ljava/io/IOException;
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "Connection problems. Could not load image from url: {0}"

    new-array v5, v5, [Ljava/lang/Object;

    aput-object p0, v5, v6

    invoke-virtual {v2, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_1

    .line 1405
    .end local v0           #e:Ljava/io/IOException;
    :catch_2
    move-exception v1

    .line 1406
    .local v1, unknown:Ljava/lang/Exception;
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "Error appeared when fetching bitmap from {0}"

    new-array v5, v5, [Ljava/lang/Object;

    aput-object p0, v5, v6

    invoke-virtual {v2, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 1407
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    invoke-virtual {v2, v3, v1}, Lcom/burstly/lib/util/LoggerExt;->logThrowable(Ljava/lang/String;Ljava/lang/Throwable;)V

    goto :goto_1
.end method

.method public static getCCSString()Ljava/lang/String;
    .locals 1

    .prologue
    .line 651
    sget-object v0, Lcom/burstly/lib/util/Utils;->sCCSString:Ljava/lang/String;

    return-object v0
.end method

.method public static getCarrier()Ljava/lang/String;
    .locals 4

    .prologue
    .line 561
    sget-object v2, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    const-string v3, "phone"

    invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/telephony/TelephonyManager;

    .line 562
    .local v1, tm:Landroid/telephony/TelephonyManager;
    if-eqz v1, :cond_0

    .line 563
    invoke-virtual {v1}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;

    move-result-object v0

    .line 564
    .local v0, networkOperatorName:Ljava/lang/String;
    if-eqz v0, :cond_0

    .line 568
    .end local v0           #networkOperatorName:Ljava/lang/String;
    :goto_0
    return-object v0

    :cond_0
    const-string v0, ""

    goto :goto_0
.end method

.method private static getClassName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .locals 4
    .parameter "networkName"
    .parameter "appender"

    .prologue
    .line 388
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->capitalize(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 389
    .local v0, componentClass:Ljava/lang/String;
    const-string v1, "com.burstly.lib.component.networkcomponent.%s.%s"

    const/4 v2, 0x2

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p0, v2, v3

    const/4 v3, 0x1

    aput-object v0, v2, v3

    invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    return-object v1
.end method

.method private static getClient()Lorg/apache/http/client/HttpClient;
    .locals 11

    .prologue
    .line 1696
    :try_start_0
    invoke-static {}, Ljava/security/KeyStore;->getDefaultType()Ljava/lang/String;

    move-result-object v7

    invoke-static {v7}, Ljava/security/KeyStore;->getInstance(Ljava/lang/String;)Ljava/security/KeyStore;

    move-result-object v6

    .line 1697
    .local v6, trustStore:Ljava/security/KeyStore;
    const/4 v7, 0x0

    const/4 v8, 0x0

    invoke-virtual {v6, v7, v8}, Ljava/security/KeyStore;->load(Ljava/io/InputStream;[C)V

    .line 1699
    new-instance v5, Lcom/burstly/lib/util/BurstlySSLSocketFactory;

    invoke-direct {v5, v6}, Lcom/burstly/lib/util/BurstlySSLSocketFactory;-><init>(Ljava/security/KeyStore;)V

    .line 1700
    .local v5, sf:Lorg/apache/http/conn/ssl/SSLSocketFactory;
    sget-object v7, Lorg/apache/http/conn/ssl/SSLSocketFactory;->ALLOW_ALL_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier;

    invoke-virtual {v5, v7}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->setHostnameVerifier(Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V

    .line 1702
    new-instance v3, Lorg/apache/http/params/BasicHttpParams;

    invoke-direct {v3}, Lorg/apache/http/params/BasicHttpParams;-><init>()V

    .line 1703
    .local v3, params:Lorg/apache/http/params/HttpParams;
    sget-object v7, Lorg/apache/http/HttpVersion;->HTTP_1_1:Lorg/apache/http/HttpVersion;

    invoke-static {v3, v7}, Lorg/apache/http/params/HttpProtocolParams;->setVersion(Lorg/apache/http/params/HttpParams;Lorg/apache/http/ProtocolVersion;)V

    .line 1704
    const-string v7, "UTF-8"

    invoke-static {v3, v7}, Lorg/apache/http/params/HttpProtocolParams;->setContentCharset(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V

    .line 1705
    invoke-static {}, Lcom/burstly/lib/network/TimeoutManager;->getConnectTimeout()I

    move-result v7

    invoke-static {v3, v7}, Lorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V

    .line 1706
    invoke-static {}, Lcom/burstly/lib/network/TimeoutManager;->getReadimeout()I

    move-result v7

    invoke-static {v3, v7}, Lorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V

    .line 1708
    new-instance v4, Lorg/apache/http/conn/scheme/SchemeRegistry;

    invoke-direct {v4}, Lorg/apache/http/conn/scheme/SchemeRegistry;-><init>()V

    .line 1709
    .local v4, registry:Lorg/apache/http/conn/scheme/SchemeRegistry;
    new-instance v7, Lorg/apache/http/conn/scheme/Scheme;

    const-string v8, "http"

    invoke-static {}, Lorg/apache/http/conn/scheme/PlainSocketFactory;->getSocketFactory()Lorg/apache/http/conn/scheme/PlainSocketFactory;

    move-result-object v9

    const/16 v10, 0x50

    invoke-direct {v7, v8, v9, v10}, Lorg/apache/http/conn/scheme/Scheme;-><init>(Ljava/lang/String;Lorg/apache/http/conn/scheme/SocketFactory;I)V

    invoke-virtual {v4, v7}, Lorg/apache/http/conn/scheme/SchemeRegistry;->register(Lorg/apache/http/conn/scheme/Scheme;)Lorg/apache/http/conn/scheme/Scheme;

    .line 1710
    new-instance v7, Lorg/apache/http/conn/scheme/Scheme;

    const-string v8, "https"

    const/16 v9, 0x1bb

    invoke-direct {v7, v8, v5, v9}, Lorg/apache/http/conn/scheme/Scheme;-><init>(Ljava/lang/String;Lorg/apache/http/conn/scheme/SocketFactory;I)V

    invoke-virtual {v4, v7}, Lorg/apache/http/conn/scheme/SchemeRegistry;->register(Lorg/apache/http/conn/scheme/Scheme;)Lorg/apache/http/conn/scheme/Scheme;

    .line 1711
    new-instance v0, Lorg/apache/http/impl/conn/SingleClientConnManager;

    invoke-direct {v0, v3, v4}, Lorg/apache/http/impl/conn/SingleClientConnManager;-><init>(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)V

    .line 1712
    .local v0, ccm:Lorg/apache/http/conn/ClientConnectionManager;
    new-instance v7, Lorg/apache/http/impl/client/DefaultHttpClient;

    invoke-direct {v7, v0, v3}, Lorg/apache/http/impl/client/DefaultHttpClient;-><init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/params/HttpParams;)V
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 1718
    .end local v0           #ccm:Lorg/apache/http/conn/ClientConnectionManager;
    .end local v3           #params:Lorg/apache/http/params/HttpParams;
    .end local v4           #registry:Lorg/apache/http/conn/scheme/SchemeRegistry;
    .end local v5           #sf:Lorg/apache/http/conn/ssl/SSLSocketFactory;
    :goto_0
    return-object v7

    .line 1714
    :catch_0
    move-exception v1

    .line 1715
    .local v1, e:Ljava/lang/Exception;
    new-instance v2, Lorg/apache/http/params/BasicHttpParams;

    invoke-direct {v2}, Lorg/apache/http/params/BasicHttpParams;-><init>()V

    .line 1716
    .local v2, httpParameters:Lorg/apache/http/params/HttpParams;
    invoke-static {}, Lcom/burstly/lib/network/TimeoutManager;->getConnectTimeout()I

    move-result v7

    invoke-static {v2, v7}, Lorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V

    .line 1717
    invoke-static {}, Lcom/burstly/lib/network/TimeoutManager;->getReadimeout()I

    move-result v7

    invoke-static {v2, v7}, Lorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V

    .line 1718
    new-instance v7, Lorg/apache/http/impl/client/DefaultHttpClient;

    invoke-direct {v7, v2}, Lorg/apache/http/impl/client/DefaultHttpClient;-><init>(Lorg/apache/http/params/HttpParams;)V

    goto :goto_0
.end method

.method public static getCloseImage(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
    .locals 2
    .parameter "currentActivity"

    .prologue
    .line 801
    const-string v0, "close-button.png"

    const/4 v1, 0x0

    invoke-static {p0, v0, v1}, Lcom/burstly/lib/util/Utils;->getImage(Landroid/content/Context;Ljava/lang/String;Z)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    return-object v0
.end method

.method public static getColorFromHex(Ljava/lang/String;)Ljava/lang/Integer;
    .locals 5
    .parameter "hexString"

    .prologue
    .line 529
    if-eqz p0, :cond_0

    .line 531
    :try_start_0
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->filterColor(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Landroid/graphics/Color;->parseColor(Ljava/lang/String;)I

    move-result v1

    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v1

    .line 537
    :goto_0
    return-object v1

    .line 533
    :catch_0
    move-exception v0

    .line 534
    .local v0, exception:Ljava/lang/Exception;
    sget-object v1, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v2, "Utils"

    invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    new-array v4, v4, [Ljava/lang/Object;

    invoke-virtual {v1, v2, v3, v4}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 537
    .end local v0           #exception:Ljava/lang/Exception;
    :cond_0
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public static getDataTypeByCode(Ljava/lang/Integer;)Lcom/burstly/lib/network/beans/CreativeDataType;
    .locals 5
    .parameter "dataType"

    .prologue
    .line 839
    invoke-static {}, Lcom/burstly/lib/network/beans/CreativeDataType;->values()[Lcom/burstly/lib/network/beans/CreativeDataType;

    move-result-object v0

    .local v0, arr$:[Lcom/burstly/lib/network/beans/CreativeDataType;
    array-length v2, v0

    .local v2, len$:I
    const/4 v1, 0x0

    .local v1, i$:I
    :goto_0
    if-ge v1, v2, :cond_1

    aget-object v3, v0, v1

    .line 840
    .local v3, type:Lcom/burstly/lib/network/beans/CreativeDataType;
    invoke-virtual {v3}, Lcom/burstly/lib/network/beans/CreativeDataType;->getValue()Ljava/lang/Integer;

    move-result-object v4

    invoke-virtual {v4, p0}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_0

    .line 844
    .end local v3           #type:Lcom/burstly/lib/network/beans/CreativeDataType;
    :goto_1
    return-object v3

    .line 839
    .restart local v3       #type:Lcom/burstly/lib/network/beans/CreativeDataType;
    :cond_0
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    .line 844
    .end local v3           #type:Lcom/burstly/lib/network/beans/CreativeDataType;
    :cond_1
    const/4 v3, 0x0

    goto :goto_1
.end method

.method public static getDateFromString(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Date;
    .locals 4
    .parameter "string"
    .parameter "format"

    .prologue
    .line 1763
    if-nez p0, :cond_0

    .line 1764
    const/4 v1, 0x0

    .line 1773
    :goto_0
    return-object v1

    .line 1766
    :cond_0
    const/4 v1, 0x0

    .line 1768
    .local v1, result:Ljava/util/Date;
    :try_start_0
    new-instance v2, Ljava/text/SimpleDateFormat;

    invoke-direct {v2, p1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, p0}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
    :try_end_0
    .catch Ljava/text/ParseException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v1

    goto :goto_0

    .line 1770
    :catch_0
    move-exception v0

    .line 1771
    .local v0, e:Ljava/text/ParseException;
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    invoke-virtual {v2, v3, v0}, Lcom/burstly/lib/util/LoggerExt;->logThrowable(Ljava/lang/String;Ljava/lang/Throwable;)V

    goto :goto_0
.end method

.method public static getDateTime(Ljava/lang/String;)Ljava/lang/String;
    .locals 2
    .parameter "format"

    .prologue
    .line 2095
    new-instance v0, Ljava/text/SimpleDateFormat;

    invoke-direct {v0, p0}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V

    .line 2096
    .local v0, sdf:Ljava/text/SimpleDateFormat;
    const-string v1, "UTC"

    invoke-static {v1}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V

    .line 2098
    new-instance v1, Ljava/util/Date;

    invoke-direct {v1}, Ljava/util/Date;-><init>()V

    invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;

    move-result-object v1

    return-object v1
.end method

.method public static getDestinationByCode(Ljava/lang/Integer;)Lcom/burstly/lib/network/beans/DestinationType;
    .locals 5
    .parameter "destType"

    .prologue
    .line 854
    invoke-static {}, Lcom/burstly/lib/network/beans/DestinationType;->values()[Lcom/burstly/lib/network/beans/DestinationType;

    move-result-object v0

    .local v0, arr$:[Lcom/burstly/lib/network/beans/DestinationType;
    array-length v2, v0

    .local v2, len$:I
    const/4 v1, 0x0

    .local v1, i$:I
    :goto_0
    if-ge v1, v2, :cond_1

    aget-object v3, v0, v1

    .line 855
    .local v3, type:Lcom/burstly/lib/network/beans/DestinationType;
    invoke-virtual {v3}, Lcom/burstly/lib/network/beans/DestinationType;->getValue()Ljava/lang/Integer;

    move-result-object v4

    invoke-virtual {v4, p0}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_0

    .line 859
    .end local v3           #type:Lcom/burstly/lib/network/beans/DestinationType;
    :goto_1
    return-object v3

    .line 854
    .restart local v3       #type:Lcom/burstly/lib/network/beans/DestinationType;
    :cond_0
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    .line 859
    .end local v3           #type:Lcom/burstly/lib/network/beans/DestinationType;
    :cond_1
    sget-object v3, Lcom/burstly/lib/network/beans/DestinationType;->DestinationType_unknown:Lcom/burstly/lib/network/beans/DestinationType;

    goto :goto_1
.end method

.method public static getDeviceCurrentLanguage()Ljava/lang/String;
    .locals 1

    .prologue
    .line 1915
    invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;

    move-result-object v0

    invoke-virtual {v0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static getDeviceId()Ljava/lang/String;
    .locals 1

    .prologue
    .line 1093
    sget-object v0, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-static {v0}, Lcom/burstly/lib/util/Utils;->getDeviceSHA1Id(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static getDeviceId(Landroid/content/Context;)Ljava/lang/String;
    .locals 1
    .parameter "context"

    .prologue
    .line 1083
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->getDeviceSHA1Id(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static declared-synchronized getDeviceSHA1Id(Landroid/content/Context;)Ljava/lang/String;
    .locals 3
    .parameter "context"

    .prologue
    .line 1123
    const-class v2, Lcom/burstly/lib/util/Utils;

    monitor-enter v2

    :try_start_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sSha1DeviceId:Ljava/lang/String;

    if-nez v1, :cond_0

    .line 1124
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->getRawDeviceId(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v0

    .line 1125
    .local v0, rawId:Ljava/lang/String;
    invoke-static {v0, v0}, Lcom/burstly/lib/util/Utils;->sha1(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    sput-object v1, Lcom/burstly/lib/util/Utils;->sSha1DeviceId:Ljava/lang/String;

    .line 1126
    sget-object v1, Lcom/burstly/lib/util/Utils;->sSha1DeviceId:Ljava/lang/String;

    if-nez v1, :cond_0

    .line 1127
    sput-object v0, Lcom/burstly/lib/util/Utils;->sSha1DeviceId:Ljava/lang/String;

    .line 1130
    .end local v0           #rawId:Ljava/lang/String;
    :cond_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sSha1DeviceId:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    monitor-exit v2

    return-object v1

    .line 1123
    :catchall_0
    move-exception v1

    monitor-exit v2

    throw v1
.end method

.method public static getFailedIds(Ljava/util/Collection;)Ljava/lang/String;
    .locals 4
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/Collection",
            "<",
            "Lcom/burstly/lib/component/FailedToShow;",
            ">;)",
            "Ljava/lang/String;"
        }
    .end annotation

    .prologue
    .line 671
    .local p0, failedToShow:Ljava/util/Collection;,"Ljava/util/Collection<Lcom/burstly/lib/component/FailedToShow;>;"
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    .line 673
    .local v2, res:Ljava/lang/StringBuilder;
    invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v1

    .local v1, iter:Ljava/util/Iterator;,"Ljava/util/Iterator<Lcom/burstly/lib/component/FailedToShow;>;"
    :cond_0
    :goto_0
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_1

    .line 674
    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/burstly/lib/component/FailedToShow;

    .line 675
    .local v0, fts:Lcom/burstly/lib/component/FailedToShow;
    invoke-virtual {v0}, Lcom/burstly/lib/component/FailedToShow;->getRvCr()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 676
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_0

    .line 677
    const-string v3, ","

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_0

    .line 680
    .end local v0           #fts:Lcom/burstly/lib/component/FailedToShow;
    :cond_1
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    return-object v3
.end method

.method public static getFillparentValue()I
    .locals 3

    .prologue
    const/4 v2, -0x1

    .line 2065
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v1, 0x8

    if-lt v0, v1, :cond_0

    .line 2068
    :cond_0
    return v2
.end method

.method private static getImage(Landroid/content/Context;Ljava/lang/String;Z)Landroid/graphics/drawable/Drawable;
    .locals 9
    .parameter "context"
    .parameter "filePattern"
    .parameter "useAppender"

    .prologue
    .line 813
    invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;

    move-result-object v0

    .line 814
    .local v0, am:Landroid/content/res/AssetManager;
    move-object v3, p1

    .line 815
    .local v3, rFileName:Ljava/lang/String;
    const/4 v2, 0x0

    .line 817
    .local v2, is:Ljava/io/InputStream;
    if-eqz p2, :cond_0

    .line 818
    const/4 v4, 0x1

    :try_start_0
    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    const-string v6, "108x72"

    aput-object v6, v4, v5

    invoke-static {p1, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    .line 820
    :cond_0
    invoke-virtual {v0, v3}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;

    move-result-object v2

    .line 821
    invoke-static {v2, v3}, Landroid/graphics/drawable/Drawable;->createFromStream(Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0
    .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v4

    .line 827
    invoke-static {v2}, Lcom/burstly/lib/util/Utils;->closeStream(Ljava/io/Closeable;)V

    .line 829
    :goto_0
    return-object v4

    .line 823
    :catch_0
    move-exception v1

    .line 824
    .local v1, e:Ljava/io/IOException;
    :try_start_1
    sget-object v4, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v5, "Utils"

    const-string v6, "Can not find image: {0} in assets directory!"

    const/4 v7, 0x1

    new-array v7, v7, [Ljava/lang/Object;

    const/4 v8, 0x0

    aput-object v3, v7, v8

    invoke-virtual {v4, v5, v6, v7}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    .line 827
    invoke-static {v2}, Lcom/burstly/lib/util/Utils;->closeStream(Ljava/io/Closeable;)V

    .line 829
    const/4 v4, 0x0

    goto :goto_0

    .line 827
    .end local v1           #e:Ljava/io/IOException;
    :catchall_0
    move-exception v4

    invoke-static {v2}, Lcom/burstly/lib/util/Utils;->closeStream(Ljava/io/Closeable;)V

    throw v4
.end method

.method private static getIntValue(Ljava/lang/String;)I
    .locals 7
    .parameter "value"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    .prologue
    const/4 v6, 0x0

    .line 949
    const/4 v1, 0x0

    .line 950
    .local v1, num:I
    if-eqz p0, :cond_0

    .line 952
    :try_start_0
    invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
    :try_end_0
    .catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0

    move-result v1

    .line 962
    return v1

    .line 954
    :catch_0
    move-exception v0

    .line 955
    .local v0, e:Ljava/lang/NumberFormatException;
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "Error converting int parameter from: {0}"

    const/4 v5, 0x1

    new-array v5, v5, [Ljava/lang/Object;

    aput-object p0, v5, v6

    invoke-virtual {v2, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 956
    throw v0

    .line 959
    .end local v0           #e:Ljava/lang/NumberFormatException;
    :cond_0
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "Can not convert null string to number, returning 0..."

    new-array v5, v6, [Ljava/lang/Object;

    invoke-virtual {v2, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 960
    new-instance v2, Ljava/lang/Exception;

    invoke-direct {v2}, Ljava/lang/Exception;-><init>()V

    throw v2
.end method

.method public static getIntValue(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
    .locals 2
    .parameter "value"
    .parameter "defaultValue"

    .prologue
    .line 1004
    :try_start_0
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->getIntValue(Ljava/lang/String;)I

    move-result v1

    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object p1

    .line 1007
    .end local p1
    :goto_0
    return-object p1

    .line 1006
    .restart local p1
    :catch_0
    move-exception v0

    .line 1007
    .local v0, e:Ljava/lang/Exception;
    goto :goto_0
.end method

.method public static getLocalIpAddress()Ljava/lang/String;
    .locals 9

    .prologue
    .line 2109
    :try_start_0
    invoke-static {}, Ljava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration;

    move-result-object v0

    .local v0, en:Ljava/util/Enumeration;,"Ljava/util/Enumeration<Ljava/net/NetworkInterface;>;"
    :cond_0
    invoke-interface {v0}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v5

    if-eqz v5, :cond_2

    .line 2110
    invoke-interface {v0}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Ljava/net/NetworkInterface;

    .line 2111
    .local v4, intf:Ljava/net/NetworkInterface;
    invoke-virtual {v4}, Ljava/net/NetworkInterface;->getInetAddresses()Ljava/util/Enumeration;

    move-result-object v1

    .local v1, enumIpAddr:Ljava/util/Enumeration;,"Ljava/util/Enumeration<Ljava/net/InetAddress;>;"
    :cond_1
    invoke-interface {v1}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v5

    if-eqz v5, :cond_0

    .line 2112
    invoke-interface {v1}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/net/InetAddress;

    .line 2113
    .local v3, inetAddress:Ljava/net/InetAddress;
    invoke-virtual {v3}, Ljava/net/InetAddress;->isLoopbackAddress()Z

    move-result v5

    if-nez v5, :cond_1

    .line 2114
    invoke-virtual {v3}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/String;->toString()Ljava/lang/String;
    :try_end_0
    .catch Ljava/net/SocketException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v5

    .line 2122
    .end local v1           #enumIpAddr:Ljava/util/Enumeration;,"Ljava/util/Enumeration<Ljava/net/InetAddress;>;"
    .end local v3           #inetAddress:Ljava/net/InetAddress;
    .end local v4           #intf:Ljava/net/NetworkInterface;
    :goto_0
    return-object v5

    .line 2119
    :catch_0
    move-exception v2

    .line 2120
    .local v2, ex:Ljava/net/SocketException;
    sget-object v5, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v6, "Utils"

    invoke-virtual {v2}, Ljava/net/SocketException;->toString()Ljava/lang/String;

    move-result-object v7

    const/4 v8, 0x0

    new-array v8, v8, [Ljava/lang/Object;

    invoke-virtual {v5, v6, v7, v8}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 2122
    .end local v2           #ex:Ljava/net/SocketException;
    :cond_2
    const/4 v5, 0x0

    goto :goto_0
.end method

.method public static declared-synchronized getMacSha1()Ljava/lang/String;
    .locals 3

    .prologue
    .line 1140
    const-class v2, Lcom/burstly/lib/util/Utils;

    monitor-enter v2

    :try_start_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sRawMacSha1:Ljava/lang/String;

    if-nez v1, :cond_0

    .line 1141
    sget-object v1, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-static {v1}, Lcom/burstly/lib/util/Utils;->getRawMac(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v0

    .line 1142
    .local v0, rawMac:Ljava/lang/String;
    invoke-static {v0, v0}, Lcom/burstly/lib/util/Utils;->sha1(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    sput-object v1, Lcom/burstly/lib/util/Utils;->sRawMacSha1:Ljava/lang/String;

    .line 1143
    sget-object v1, Lcom/burstly/lib/util/Utils;->sRawMacSha1:Ljava/lang/String;

    if-nez v1, :cond_0

    .line 1144
    sput-object v0, Lcom/burstly/lib/util/Utils;->sRawMacSha1:Ljava/lang/String;

    .line 1147
    :cond_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sRawMacSha1:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    monitor-exit v2

    return-object v1

    .line 1140
    :catchall_0
    move-exception v1

    monitor-exit v2

    throw v1
.end method

.method public static getMccCode()Ljava/lang/String;
    .locals 5

    .prologue
    const/4 v4, 0x3

    .line 577
    sget-object v2, Lcom/burstly/lib/util/Utils;->sMccCode:Ljava/lang/String;

    const-string v3, "0"

    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_0

    .line 578
    sget-object v2, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    const-string v3, "phone"

    invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/telephony/TelephonyManager;

    .line 580
    .local v1, tm:Landroid/telephony/TelephonyManager;
    if-eqz v1, :cond_0

    .line 581
    invoke-virtual {v1}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;

    move-result-object v0

    .line 582
    .local v0, networkOperator:Ljava/lang/String;
    if-eqz v0, :cond_0

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v2

    if-lt v2, v4, :cond_0

    .line 583
    const/4 v2, 0x0

    invoke-virtual {v0, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v2

    sput-object v2, Lcom/burstly/lib/util/Utils;->sMccCode:Ljava/lang/String;

    .line 587
    .end local v0           #networkOperator:Ljava/lang/String;
    :cond_0
    sget-object v2, Lcom/burstly/lib/util/Utils;->sMccCode:Ljava/lang/String;

    return-object v2
.end method

.method public static getMncCode()Ljava/lang/String;
    .locals 4

    .prologue
    .line 509
    sget-object v2, Lcom/burstly/lib/util/Utils;->sMncCode:Ljava/lang/String;

    const-string v3, "0"

    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_0

    .line 510
    sget-object v2, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    const-string v3, "phone"

    invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/telephony/TelephonyManager;

    .line 512
    .local v1, tm:Landroid/telephony/TelephonyManager;
    if-eqz v1, :cond_0

    .line 513
    invoke-virtual {v1}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;

    move-result-object v0

    .line 514
    .local v0, networkOperator:Ljava/lang/String;
    if-eqz v0, :cond_0

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v2

    const/4 v3, 0x4

    if-lt v2, v3, :cond_0

    .line 515
    const/4 v2, 0x3

    invoke-virtual {v0, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v2

    sput-object v2, Lcom/burstly/lib/util/Utils;->sMncCode:Ljava/lang/String;

    .line 519
    .end local v0           #networkOperator:Ljava/lang/String;
    :cond_0
    sget-object v2, Lcom/burstly/lib/util/Utils;->sMncCode:Ljava/lang/String;

    return-object v2
.end method

.method public static getOrientation(Landroid/content/Context;)I
    .locals 9
    .parameter "context"

    .prologue
    .line 972
    const-string v3, "window"

    invoke-virtual {p0, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/WindowManager;

    .line 973
    .local v0, manager:Landroid/view/WindowManager;
    invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v3

    invoke-virtual {v3}, Landroid/view/Display;->getOrientation()I

    move-result v1

    .line 974
    .local v1, orientation:I
    const/4 v2, -0x1

    .line 975
    .local v2, ret:I
    packed-switch v1, :pswitch_data_0

    .line 990
    :goto_0
    sget-object v3, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v4, "Utils"

    const-string v5, "getOrientation: {0}"

    const/4 v6, 0x1

    new-array v6, v6, [Ljava/lang/Object;

    const/4 v7, 0x0

    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v8

    aput-object v8, v6, v7

    invoke-virtual {v3, v4, v5, v6}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 991
    return v2

    .line 977
    :pswitch_0
    const/4 v2, 0x0

    .line 978
    goto :goto_0

    .line 980
    :pswitch_1
    const/16 v2, 0x5a

    .line 981
    goto :goto_0

    .line 983
    :pswitch_2
    const/16 v2, 0xb4

    .line 984
    goto :goto_0

    .line 986
    :pswitch_3
    const/16 v2, 0x10e

    .line 987
    goto :goto_0

    .line 975
    nop

    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_0
        :pswitch_1
        :pswitch_2
        :pswitch_3
    .end packed-switch
.end method

.method public static getParamsBytes(Ljava/lang/String;)[B
    .locals 6
    .parameter "params"

    .prologue
    .line 727
    const/4 v1, 0x0

    .line 729
    .local v1, postParams:[B
    :try_start_0
    const-string v2, "ASCII"

    invoke-virtual {p0, v2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
    :try_end_0
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v1

    .line 735
    :goto_0
    return-object v1

    .line 731
    :catch_0
    move-exception v0

    .line 732
    .local v0, e:Ljava/io/UnsupportedEncodingException;
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "ASCII encoding is not available! Using platform default."

    const/4 v5, 0x0

    new-array v5, v5, [Ljava/lang/Object;

    invoke-virtual {v2, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 733
    invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B

    move-result-object v1

    goto :goto_0
.end method

.method private static getPhoneType(Landroid/telephony/TelephonyManager;)Ljava/lang/String;
    .locals 4
    .parameter "tm"

    .prologue
    .line 632
    invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getPhoneType()I

    move-result v0

    packed-switch v0, :pswitch_data_0

    .line 641
    const-string v0, "UNKNOWN"

    :goto_0
    return-object v0

    .line 634
    :pswitch_0
    sget-object v0, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v1, "Utils"

    const-string v2, "This is a CDMA phone so operator name and mcc data can be invalid."

    const/4 v3, 0x0

    new-array v3, v3, [Ljava/lang/Object;

    invoke-virtual {v0, v1, v2, v3}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 635
    const-string v0, "CDMA"

    goto :goto_0

    .line 637
    :pswitch_1
    const-string v0, "GSM"

    goto :goto_0

    .line 639
    :pswitch_2
    const-string v0, "NONE"

    goto :goto_0

    .line 632
    nop

    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_2
        :pswitch_1
        :pswitch_0
    .end packed-switch
.end method

.method public static declared-synchronized getRawAndroidId(Landroid/content/Context;)Ljava/lang/String;
    .locals 7
    .parameter "context"

    .prologue
    .line 1257
    const-class v1, Lcom/burstly/lib/util/Utils;

    monitor-enter v1

    :try_start_0
    sget-object v0, Lcom/burstly/lib/util/Utils;->sRawAndroidId:Ljava/lang/String;

    if-nez v0, :cond_0

    .line 1258
    invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    const-string v2, "android_id"

    invoke-static {v0, v2}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/burstly/lib/util/Utils;->sRawAndroidId:Ljava/lang/String;

    .line 1259
    sget-object v0, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v2, "Utils"

    const-string v3, "Secure.ANDROID_ID: andrdoidId - {0}"

    const/4 v4, 0x1

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    sget-object v6, Lcom/burstly/lib/util/Utils;->sRawAndroidId:Ljava/lang/String;

    aput-object v6, v4, v5

    invoke-virtual {v0, v2, v3, v4}, Lcom/burstly/lib/util/LoggerExt;->logInfo(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 1261
    :cond_0
    sget-object v0, Lcom/burstly/lib/util/Utils;->sRawAndroidId:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    monitor-exit v1

    return-object v0

    .line 1257
    :catchall_0
    move-exception v0

    monitor-exit v1

    throw v0
.end method

.method public static declared-synchronized getRawDeviceId(Landroid/content/Context;)Ljava/lang/String;
    .locals 13
    .parameter "context"

    .prologue
    const/4 v4, 0x1

    const/4 v5, 0x0

    .line 1214
    const-class v6, Lcom/burstly/lib/util/Utils;

    monitor-enter v6

    :try_start_0
    sget-object v7, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    if-nez v7, :cond_2

    .line 1215
    const/4 v1, 0x0

    .line 1217
    .local v1, invalidDeviceId:Z
    const/4 v7, 0x0

    const/4 v8, 0x0

    :try_start_1
    sget-object v9, Lcom/burstly/lib/util/Utils;->READ_PHONE_STATE_PERMISSION:Ljava/util/List;

    invoke-static {v7, v8, v9}, Lcom/burstly/lib/util/ManifestValidator;->customValidate(Ljava/util/List;Ljava/util/List;Ljava/util/List;)Lcom/burstly/lib/util/ManifestValidator$ValidationResults;

    move-result-object v2

    .line 1219
    .local v2, results:Lcom/burstly/lib/util/ManifestValidator$ValidationResults;
    invoke-virtual {v2}, Lcom/burstly/lib/util/ManifestValidator$ValidationResults;->getOptionalPermissions()Ljava/util/List;

    move-result-object v7

    invoke-interface {v7}, Ljava/util/List;->isEmpty()Z

    move-result v7

    if-eqz v7, :cond_0

    .line 1220
    const-string v7, "phone"

    invoke-virtual {p0, v7}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Landroid/telephony/TelephonyManager;

    .line 1222
    .local v3, tManager:Landroid/telephony/TelephonyManager;
    invoke-virtual {v3}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;

    move-result-object v7

    sput-object v7, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;

    .line 1223
    sget-object v7, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v8, "Utils"

    const-string v9, "TelephonyManager: deviceID - {0}"

    const/4 v10, 0x1

    new-array v10, v10, [Ljava/lang/Object;

    const/4 v11, 0x0

    sget-object v12, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;

    aput-object v12, v10, v11

    invoke-virtual {v7, v8, v9, v10}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_1 .. :try_end_1} :catch_0

    .line 1229
    .end local v2           #results:Lcom/burstly/lib/util/ManifestValidator$ValidationResults;
    .end local v3           #tManager:Landroid/telephony/TelephonyManager;
    :cond_0
    :goto_0
    :try_start_2
    sget-object v7, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;

    invoke-static {v7}, Lcom/burstly/lib/util/Utils;->isDeviceIdValid(Ljava/lang/String;)Z

    move-result v7

    if-nez v7, :cond_3

    move v1, v4

    .line 1233
    :goto_1
    if-eqz v1, :cond_1

    sget v7, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v8, 0x9

    if-lt v7, v8, :cond_1

    .line 1234
    sget-object v7, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v8, "Utils"

    const-string v9, "Trying to get serial of 2.3+ device..."

    const/4 v10, 0x0

    new-array v10, v10, [Ljava/lang/Object;

    invoke-virtual {v7, v8, v9, v10}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 1236
    invoke-static {}, Lcom/burstly/lib/util/SerialNumberUtil;->getSerial()Ljava/lang/String;

    move-result-object v7

    sput-object v7, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;

    .line 1237
    sget-object v7, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v8, "Utils"

    const-string v9, "SERIAL: deviceID - {0}"

    const/4 v10, 0x1

    new-array v10, v10, [Ljava/lang/Object;

    const/4 v11, 0x0

    sget-object v12, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;

    aput-object v12, v10, v11

    invoke-virtual {v7, v8, v9, v10}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 1238
    sget-object v7, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;

    invoke-static {v7}, Lcom/burstly/lib/util/Utils;->isDeviceIdValid(Ljava/lang/String;)Z

    move-result v7

    if-nez v7, :cond_4

    move v1, v4

    .line 1241
    :cond_1
    :goto_2
    if-eqz v1, :cond_2

    .line 1243
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->generateUniqueId(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v4

    sput-object v4, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;

    .line 1244
    sget-object v4, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v5, "Utils"

    const-string v7, "Preferences: deviceID - {0}"

    const/4 v8, 0x1

    new-array v8, v8, [Ljava/lang/Object;

    const/4 v9, 0x0

    sget-object v10, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;

    aput-object v10, v8, v9

    invoke-virtual {v4, v5, v7, v8}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    .line 1247
    .end local v1           #invalidDeviceId:Z
    :cond_2
    sget-object v4, Lcom/burstly/lib/util/Utils;->sRawDeviceId:Ljava/lang/String;
    :try_end_2
    .catchall {:try_start_2 .. :try_end_2} :catchall_0

    monitor-exit v6

    return-object v4

    .line 1226
    .restart local v1       #invalidDeviceId:Z
    :catch_0
    move-exception v0

    .line 1227
    .local v0, e:Landroid/content/pm/PackageManager$NameNotFoundException;
    :try_start_3
    sget-object v7, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v8, "Utils"

    invoke-static {v0}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;

    move-result-object v9

    const/4 v10, 0x0

    new-array v10, v10, [Ljava/lang/Object;

    invoke-virtual {v7, v8, v9, v10}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    :try_end_3
    .catchall {:try_start_3 .. :try_end_3} :catchall_0

    goto :goto_0

    .line 1214
    .end local v0           #e:Landroid/content/pm/PackageManager$NameNotFoundException;
    .end local v1           #invalidDeviceId:Z
    :catchall_0
    move-exception v4

    monitor-exit v6

    throw v4

    .restart local v1       #invalidDeviceId:Z
    :cond_3
    move v1, v5

    .line 1229
    goto :goto_1

    :cond_4
    move v1, v5

    .line 1238
    goto :goto_2
.end method

.method private static declared-synchronized getRawMac(Landroid/content/Context;)Ljava/lang/String;
    .locals 4
    .parameter "context"

    .prologue
    .line 1174
    const-class v3, Lcom/burstly/lib/util/Utils;

    monitor-enter v3

    :try_start_0
    sget-object v2, Lcom/burstly/lib/util/Utils;->sRawMac:Ljava/lang/String;

    if-nez v2, :cond_0

    .line 1175
    const-string v2, "wifi"

    invoke-virtual {p0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/net/wifi/WifiManager;

    .line 1176
    .local v1, wifiManager:Landroid/net/wifi/WifiManager;
    if-eqz v1, :cond_0

    .line 1177
    invoke-virtual {v1}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;

    move-result-object v0

    .line 1178
    .local v0, wifiInfo:Landroid/net/wifi/WifiInfo;
    invoke-virtual {v0}, Landroid/net/wifi/WifiInfo;->getMacAddress()Ljava/lang/String;

    move-result-object v2

    sput-object v2, Lcom/burstly/lib/util/Utils;->sRawMac:Ljava/lang/String;

    .line 1181
    .end local v0           #wifiInfo:Landroid/net/wifi/WifiInfo;
    .end local v1           #wifiManager:Landroid/net/wifi/WifiManager;
    :cond_0
    sget-object v2, Lcom/burstly/lib/util/Utils;->sRawMac:Ljava/lang/String;

    if-nez v2, :cond_1

    .line 1182
    const-string v2, "00:00:00:00:00:00"

    sput-object v2, Lcom/burstly/lib/util/Utils;->sRawMac:Ljava/lang/String;

    .line 1184
    :cond_1
    sget-object v2, Lcom/burstly/lib/util/Utils;->sRawMac:Ljava/lang/String;

    invoke-virtual {v2}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    move-result-object v2

    monitor-exit v3

    return-object v2

    .line 1174
    :catchall_0
    move-exception v2

    monitor-exit v3

    throw v2
.end method

.method public static getScale(Landroid/content/Context;)F
    .locals 1
    .parameter "context"

    .prologue
    .line 1616
    invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->density:F

    return v0
.end method

.method public static getScreenHeight(Landroid/content/Context;)I
    .locals 1
    .parameter "context"

    .prologue
    .line 1606
    invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->heightPixels:I

    return v0
.end method

.method public static getScreenWidth(Landroid/content/Context;)I
    .locals 1
    .parameter "context"

    .prologue
    .line 1596
    invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->widthPixels:I

    return v0
.end method

.method public static getSkipImage(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
    .locals 2
    .parameter "currentActivity"

    .prologue
    .line 781
    const-string v0, "VidButton_Close_%s.png"

    const/4 v1, 0x1

    invoke-static {p0, v0, v1}, Lcom/burstly/lib/util/Utils;->getImage(Landroid/content/Context;Ljava/lang/String;Z)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    return-object v0
.end method

.method public static getToolbarImage(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
    .locals 2
    .parameter "currentActivity"

    .prologue
    .line 791
    const-string v0, "Bar_Gradient.png"

    const/4 v1, 0x0

    invoke-static {p0, v0, v1}, Lcom/burstly/lib/util/Utils;->getImage(Landroid/content/Context;Ljava/lang/String;Z)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    return-object v0
.end method

.method public static getUserAgent(Landroid/content/Context;)Lcom/burstly/lib/network/beans/UserAgentInfo;
    .locals 2
    .parameter "context"

    .prologue
    .line 1477
    new-instance v0, Lcom/burstly/lib/network/beans/UserAgentInfo;

    invoke-direct {v0}, Lcom/burstly/lib/network/beans/UserAgentInfo;-><init>()V

    .line 1478
    .local v0, userAgent:Lcom/burstly/lib/network/beans/UserAgentInfo;
    sget-object v1, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setPlatformVersion(Ljava/lang/String;)V

    .line 1479
    sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setDevice(Ljava/lang/String;)V

    .line 1480
    sget-object v1, Landroid/os/Build;->BRAND:Ljava/lang/String;

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setDeviceFamily(Ljava/lang/String;)V

    .line 1481
    const-string v1, "1.1"

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setOrmmaVersion(Ljava/lang/String;)V

    .line 1482
    const-string v1, "2.0"

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setMraidVersion(Ljava/lang/String;)V

    .line 1483
    const-string v1, "2"

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setRewardsVersion(Ljava/lang/String;)V

    .line 1484
    invoke-static {p0, v0}, Lcom/burstly/lib/util/Utils;->setScreenInfo(Landroid/content/Context;Lcom/burstly/lib/network/beans/UserAgentInfo;)V

    .line 1485
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getMccCode()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setMCC(Ljava/lang/String;)V

    .line 1486
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getMncCode()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setMNC(Ljava/lang/String;)V

    .line 1487
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getCarrier()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setCarrier(Ljava/lang/String;)V

    .line 1488
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->getUserAgentString(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setWebUserAgent(Ljava/lang/String;)V

    .line 1489
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getApplicationVersionName()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setApplicationVersion(Ljava/lang/String;)V

    .line 1490
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getApplicationVersionCode()I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setApplicationVersionCode(I)V

    .line 1491
    return-object v0
.end method

.method public static declared-synchronized getUserAgentString(Landroid/content/Context;)Ljava/lang/String;
    .locals 3
    .parameter "context"

    .prologue
    .line 597
    const-class v2, Lcom/burstly/lib/util/Utils;

    monitor-enter v2

    :try_start_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sUserWebClient:Ljava/lang/String;

    if-nez v1, :cond_0

    .line 598
    new-instance v0, Landroid/webkit/WebView;

    invoke-direct {v0, p0}, Landroid/webkit/WebView;-><init>(Landroid/content/Context;)V

    .line 599
    .local v0, webView:Landroid/webkit/WebView;
    invoke-virtual {v0}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;

    move-result-object v1

    invoke-virtual {v1}, Landroid/webkit/WebSettings;->getUserAgentString()Ljava/lang/String;

    move-result-object v1

    sput-object v1, Lcom/burstly/lib/util/Utils;->sUserWebClient:Ljava/lang/String;

    .line 600
    invoke-virtual {v0}, Landroid/webkit/WebView;->destroy()V

    .line 602
    .end local v0           #webView:Landroid/webkit/WebView;
    :cond_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sUserWebClient:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    monitor-exit v2

    return-object v1

    .line 597
    :catchall_0
    move-exception v1

    monitor-exit v2

    throw v1
.end method

.method public static getVisitSiteImage(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
    .locals 2
    .parameter "currentActivity"

    .prologue
    .line 771
    const-string v0, "VidButton_More_%s.png"

    const/4 v1, 0x1

    invoke-static {p0, v0, v1}, Lcom/burstly/lib/util/Utils;->getImage(Landroid/content/Context;Ljava/lang/String;Z)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    return-object v0
.end method

.method public static initCCSString(Landroid/content/Context;)V
    .locals 5
    .parameter "context"

    .prologue
    .line 496
    sget-object v1, Lcom/burstly/lib/util/Utils;->sCCSString:Ljava/lang/String;

    if-nez v1, :cond_0

    .line 497
    const-string v1, "phone"

    invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/telephony/TelephonyManager;

    .line 498
    .local v0, tm:Landroid/telephony/TelephonyManager;
    const-string v1, "{0};{1};{2}"

    const/4 v2, 0x3

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;

    move-result-object v4

    aput-object v4, v2, v3

    const/4 v3, 0x1

    invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;

    move-result-object v4

    aput-object v4, v2, v3

    const/4 v3, 0x2

    invoke-static {v0}, Lcom/burstly/lib/util/Utils;->getPhoneType(Landroid/telephony/TelephonyManager;)Ljava/lang/String;

    move-result-object v4

    aput-object v4, v2, v3

    invoke-static {v1, v2}, Ljava/text/MessageFormat;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    sput-object v1, Lcom/burstly/lib/util/Utils;->sCCSString:Ljava/lang/String;

    .line 501
    .end local v0           #tm:Landroid/telephony/TelephonyManager;
    :cond_0
    return-void
.end method

.method public static isAdExpired(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;)Z
    .locals 7
    .parameter "responseData"

    .prologue
    .line 485
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;->getExpiresAfter()Ljava/lang/Long;

    move-result-object v0

    .line 486
    .local v0, expiresAfter:Ljava/lang/Long;
    if-eqz v0, :cond_0

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v1

    invoke-virtual {v0}, Ljava/lang/Long;->longValue()J

    move-result-wide v3

    const-wide/16 v5, 0x4e20

    add-long/2addr v3, v5

    cmp-long v1, v1, v3

    if-lez v1, :cond_0

    const/4 v1, 0x1

    :goto_0
    return v1

    :cond_0
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public static isBanner(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;)Z
    .locals 2
    .parameter "response"

    .prologue
    .line 1062
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;->getDataType()Ljava/lang/Integer;

    move-result-object v0

    sget-object v1, Lcom/burstly/lib/network/beans/CreativeDataType;->CreativeDataType_image:Lcom/burstly/lib/network/beans/CreativeDataType;

    invoke-virtual {v1}, Lcom/burstly/lib/network/beans/CreativeDataType;->getValue()Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method private static isDeviceIdValid(Ljava/lang/String;)Z
    .locals 6
    .parameter "deviceId"

    .prologue
    const/4 v1, 0x0

    .line 1272
    if-nez p0, :cond_1

    .line 1273
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "Device id is null."

    new-array v5, v1, [Ljava/lang/Object;

    invoke-virtual {v2, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move v0, v1

    .line 1282
    :cond_0
    :goto_0
    return v0

    .line 1277
    :cond_1
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v2

    if-eqz v2, :cond_2

    const-string v2, "000000000000000"

    invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_2

    const-string v2, "0"

    invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_2

    const-string v2, "unknown"

    invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_2

    const/4 v0, 0x1

    .line 1279
    .local v0, validDeviceId:Z
    :goto_1
    if-nez v0, :cond_0

    .line 1280
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "Device id is empty or an emulator."

    new-array v1, v1, [Ljava/lang/Object;

    invoke-virtual {v2, v3, v4, v1}, Lcom/burstly/lib/util/LoggerExt;->logError(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_0

    .end local v0           #validDeviceId:Z
    :cond_2
    move v0, v1

    .line 1277
    goto :goto_1
.end method

.method public static isIdenticalMap(Ljava/util/Map;Ljava/util/Map;)Z
    .locals 5
    .parameter
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<K:",
            "Ljava/lang/Object;",
            "V:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/util/Map",
            "<TK;TV;>;",
            "Ljava/util/Map",
            "<TK;TV;>;)Z"
        }
    .end annotation

    .prologue
    .local p0, map1:Ljava/util/Map;,"Ljava/util/Map<TK;TV;>;"
    .local p1, map2:Ljava/util/Map;,"Ljava/util/Map<TK;TV;>;"
    const/4 v2, 0x0

    .line 2133
    invoke-interface {p0}, Ljava/util/Map;->size()I

    move-result v3

    invoke-interface {p1}, Ljava/util/Map;->size()I

    move-result v4

    if-eq v3, v4, :cond_0

    .line 2141
    :goto_0
    return v2

    .line 2136
    :cond_0
    invoke-interface {p0}, Ljava/util/Map;->keySet()Ljava/util/Set;

    move-result-object v3

    invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v0

    .local v0, i$:Ljava/util/Iterator;
    :cond_1
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_2

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    .line 2137
    .local v1, key:Ljava/lang/Object;,"TK;"
    invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    invoke-interface {p1, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-nez v3, :cond_1

    goto :goto_0

    .line 2141
    .end local v1           #key:Ljava/lang/Object;,"TK;"
    :cond_2
    const/4 v2, 0x1

    goto :goto_0
.end method

.method public static isMraid(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;)Z
    .locals 1
    .parameter "adType"

    .prologue
    .line 1956
    if-eqz p0, :cond_0

    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;->getExtendedProperty()Ljava/lang/Integer;

    move-result-object v0

    if-nez v0, :cond_1

    .line 1957
    :cond_0
    const/4 v0, 0x0

    .line 1959
    :goto_0
    return v0

    :cond_1
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;->getExtendedProperty()Ljava/lang/Integer;

    move-result-object v0

    invoke-static {v0}, Lcom/burstly/lib/util/Utils;->isMraidCreative(Ljava/lang/Integer;)Z

    move-result v0

    goto :goto_0
.end method

.method private static isMraidCreative(Ljava/lang/Integer;)Z
    .locals 1
    .parameter "creativeDataType"

    .prologue
    .line 1933
    const/16 v0, 0x800

    invoke-static {p0, v0}, Lcom/burstly/lib/util/Utils;->checkFlag(Ljava/lang/Integer;I)Z

    move-result v0

    return v0
.end method

.method public static isOrmma(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;)Z
    .locals 1
    .parameter "adType"

    .prologue
    .line 1943
    if-eqz p0, :cond_0

    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;->getExtendedProperty()Ljava/lang/Integer;

    move-result-object v0

    if-nez v0, :cond_1

    .line 1944
    :cond_0
    const/4 v0, 0x0

    .line 1946
    :goto_0
    return v0

    :cond_1
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData$AdType;->getExtendedProperty()Ljava/lang/Integer;

    move-result-object v0

    invoke-static {v0}, Lcom/burstly/lib/util/Utils;->isOrmmaCreative(Ljava/lang/Integer;)Z

    move-result v0

    goto :goto_0
.end method

.method private static isOrmmaCreative(Ljava/lang/Integer;)Z
    .locals 1
    .parameter "creativeDataType"

    .prologue
    .line 1924
    const/16 v0, 0x400

    invoke-static {p0, v0}, Lcom/burstly/lib/util/Utils;->checkFlag(Ljava/lang/Integer;I)Z

    move-result v0

    return v0
.end method

.method public static isRewards(Ljava/lang/Integer;)Z
    .locals 2
    .parameter "dataType"

    .prologue
    .line 1969
    invoke-static {p0}, Lcom/burstly/lib/util/Utils;->getDataTypeByCode(Ljava/lang/Integer;)Lcom/burstly/lib/network/beans/CreativeDataType;

    move-result-object v0

    .line 1970
    .local v0, currentType:Lcom/burstly/lib/network/beans/CreativeDataType;
    sget-object v1, Lcom/burstly/lib/network/beans/CreativeDataType;->OfferWall:Lcom/burstly/lib/network/beans/CreativeDataType;

    if-eq v0, v1, :cond_0

    sget-object v1, Lcom/burstly/lib/network/beans/CreativeDataType;->CreativeDataType_offerpage:Lcom/burstly/lib/network/beans/CreativeDataType;

    if-ne v0, v1, :cond_1

    :cond_0
    const/4 v1, 0x1

    :goto_0
    return v1

    :cond_1
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public static isScript(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;)Z
    .locals 2
    .parameter "response"

    .prologue
    .line 1028
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;->getDataType()Ljava/lang/Integer;

    move-result-object v0

    .line 1029
    .local v0, dataType:Ljava/lang/Integer;
    sget-object v1, Lcom/burstly/lib/network/beans/CreativeDataType;->CreativeDataType_script:Lcom/burstly/lib/network/beans/CreativeDataType;

    invoke-virtual {v1}, Lcom/burstly/lib/network/beans/CreativeDataType;->getValue()Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_0

    sget-object v1, Lcom/burstly/lib/network/beans/CreativeDataType;->CreativeDataType_redirect:Lcom/burstly/lib/network/beans/CreativeDataType;

    invoke-virtual {v1}, Lcom/burstly/lib/network/beans/CreativeDataType;->getValue()Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_0

    sget-object v1, Lcom/burstly/lib/network/beans/CreativeDataType;->OfferWall:Lcom/burstly/lib/network/beans/CreativeDataType;

    invoke-virtual {v1}, Lcom/burstly/lib/network/beans/CreativeDataType;->getValue()Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_0

    sget-object v1, Lcom/burstly/lib/network/beans/CreativeDataType;->CreativeDataType_offerpage:Lcom/burstly/lib/network/beans/CreativeDataType;

    invoke-virtual {v1}, Lcom/burstly/lib/network/beans/CreativeDataType;->getValue()Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_1

    :cond_0
    const/4 v1, 0x1

    :goto_0
    return v1

    :cond_1
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public static isSdkAvailable(Ljava/lang/String;Ljava/lang/String;)Z
    .locals 5
    .parameter "fullSdkClassName"
    .parameter "logTag"

    .prologue
    const/4 v1, 0x1

    const/4 v2, 0x0

    .line 469
    :try_start_0
    invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
    :try_end_0
    .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0

    .line 475
    :goto_0
    return v1

    .line 472
    :catch_0
    move-exception v0

    .line 473
    .local v0, e:Ljava/lang/ClassNotFoundException;
    sget-object v3, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v4, "{0} lib is not included in classpath."

    new-array v1, v1, [Ljava/lang/Object;

    aput-object p0, v1, v2

    invoke-virtual {v3, p1, v4, v1}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move v1, v2

    .line 475
    goto :goto_0
.end method

.method public static isSimpleText(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;)Z
    .locals 2
    .parameter "response"

    .prologue
    .line 1018
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;->getTextAdType()Ljava/lang/Integer;

    move-result-object v0

    sget-object v1, Lcom/burstly/lib/network/beans/TextAdType;->TextAdType_mobile:Lcom/burstly/lib/network/beans/TextAdType;

    invoke-virtual {v1}, Lcom/burstly/lib/network/beans/TextAdType;->getValue()Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method public static isTextImage(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;)Z
    .locals 2
    .parameter "response"

    .prologue
    .line 1052
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;->getTextAdType()Ljava/lang/Integer;

    move-result-object v0

    sget-object v1, Lcom/burstly/lib/network/beans/TextAdType;->TextAdType_mobileIcon:Lcom/burstly/lib/network/beans/TextAdType;

    invoke-virtual {v1}, Lcom/burstly/lib/network/beans/TextAdType;->getValue()Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method public static isThirdPartySDK(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;)Z
    .locals 2
    .parameter "response"

    .prologue
    .line 1072
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;->getName()Ljava/lang/String;

    move-result-object v0

    .line 1073
    .local v0, name:Ljava/lang/String;
    const-string v1, "custom"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    return v1
.end method

.method public static isValidRequestParam(Ljava/lang/String;)Z
    .locals 1
    .parameter "str"

    .prologue
    .line 899
    if-eqz p0, :cond_0

    invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v0

    if-eqz v0, :cond_0

    const/4 v0, 0x1

    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x0

    goto :goto_0
.end method

.method public static isVideo(Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;)Z
    .locals 2
    .parameter "response"

    .prologue
    .line 1042
    invoke-virtual {p0}, Lcom/burstly/lib/network/beans/ResponseBean$ResponseData;->getDataType()Ljava/lang/Integer;

    move-result-object v0

    sget-object v1, Lcom/burstly/lib/network/beans/CreativeDataType;->CreativeDataType_video:Lcom/burstly/lib/network/beans/CreativeDataType;

    invoke-virtual {v1}, Lcom/burstly/lib/network/beans/CreativeDataType;->getValue()Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method public static isVideoUrl(Ljava/lang/String;)Z
    .locals 1
    .parameter "url"

    .prologue
    .line 745
    if-eqz p0, :cond_1

    const-string v0, ".3gp"

    invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_0

    const-string v0, ".mp4"

    invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_1

    :cond_0
    const/4 v0, 0x1

    :goto_0
    return v0

    :cond_1
    const/4 v0, 0x0

    goto :goto_0
.end method

.method public static lowerCurrentThreadPriority()V
    .locals 2

    .prologue
    .line 2024
    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v0

    sget-object v1, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-virtual {v1}, Landroid/os/Looper;->getThread()Ljava/lang/Thread;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_0

    .line 2025
    const/16 v0, 0x13

    invoke-static {v0}, Lcom/burstly/lib/util/Utils;->setCurrentThreadPriority(I)V

    .line 2027
    :cond_0
    return-void
.end method

.method public static makeGetRequest(Ljava/lang/String;)Lorg/apache/http/HttpResponse;
    .locals 2
    .parameter "url"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lorg/apache/http/client/ClientProtocolException;,
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 1752
    const/4 v0, 0x0

    new-instance v1, Lorg/apache/http/client/methods/HttpGet;

    invoke-direct {v1, p0}, Lorg/apache/http/client/methods/HttpGet;-><init>(Ljava/lang/String;)V

    invoke-static {v0, v1}, Lcom/burstly/lib/util/Utils;->makeRequest(Lorg/apache/http/HttpHost;Lorg/apache/http/client/methods/HttpRequestBase;)Lorg/apache/http/HttpResponse;

    move-result-object v0

    return-object v0
.end method

.method public static makeRequest(Lorg/apache/http/HttpHost;Lorg/apache/http/client/methods/HttpRequestBase;)Lorg/apache/http/HttpResponse;
    .locals 3
    .parameter "host"
    .parameter "request"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lorg/apache/http/client/ClientProtocolException;,
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 1733
    invoke-static {}, Lcom/burstly/lib/util/Utils;->getClient()Lorg/apache/http/client/HttpClient;

    move-result-object v0

    .line 1734
    .local v0, client:Lorg/apache/http/client/HttpClient;
    sget-object v1, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    if-eqz v1, :cond_0

    .line 1735
    const-string v1, "User-Agent"

    sget-object v2, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-static {v2}, Lcom/burstly/lib/util/Utils;->getUserAgentString(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v1, v2}, Lorg/apache/http/client/methods/HttpRequestBase;->setHeader(Ljava/lang/String;Ljava/lang/String;)V

    .line 1737
    :cond_0
    if-eqz p0, :cond_1

    .line 1738
    invoke-interface {v0, p0, p1}, Lorg/apache/http/client/HttpClient;->execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;)Lorg/apache/http/HttpResponse;

    move-result-object v1

    .line 1740
    :goto_0
    return-object v1

    :cond_1
    invoke-interface {v0, p1}, Lorg/apache/http/client/HttpClient;->execute(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse;

    move-result-object v1

    goto :goto_0
.end method

.method public static mergeStringStringMaps(Ljava/util/Map;Ljava/util/Map;)V
    .locals 8
    .parameter
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;",
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;)V"
        }
    .end annotation

    .prologue
    .line 1827
    .local p0, lowPriority:Ljava/util/Map;,"Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
    .local p1, highPriority:Ljava/util/Map;,"Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
    if-eqz p1, :cond_0

    if-eqz p0, :cond_0

    invoke-interface {p1}, Ljava/util/Map;->size()I

    move-result v7

    if-nez v7, :cond_1

    .line 1841
    :cond_0
    return-void

    .line 1830
    :cond_1
    invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v7

    invoke-interface {v7}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_2
    :goto_0
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v7

    if-eqz v7, :cond_0

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/Map$Entry;

    .line 1831
    .local v0, entry:Ljava/util/Map$Entry;,"Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;"
    invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    .line 1832
    .local v1, highPriorityKey:Ljava/lang/String;
    invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    .line 1833
    .local v2, highPriorityValue:Ljava/lang/String;
    invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v7

    invoke-interface {v7}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v4

    .local v4, i$:Ljava/util/Iterator;
    :cond_3
    invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z

    move-result v7

    if-eqz v7, :cond_2

    invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Ljava/util/Map$Entry;

    .line 1834
    .local v5, lowEntry:Ljava/util/Map$Entry;,"Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;"
    invoke-interface {v5}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Ljava/lang/String;

    .line 1835
    .local v6, lowPriorityKey:Ljava/lang/String;
    invoke-virtual {v1, v6}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v7

    if-eqz v7, :cond_3

    .line 1836
    invoke-interface {v5, v2}, Ljava/util/Map$Entry;->setValue(Ljava/lang/Object;)Ljava/lang/Object;

    goto :goto_0
.end method

.method public static parseParams(Ljava/lang/String;)Ljava/util/Map;
    .locals 10
    .parameter "params"
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            ")",
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .prologue
    const/4 v9, 0x1

    .line 1851
    new-instance v5, Ljava/util/HashMap;

    invoke-direct {v5}, Ljava/util/HashMap;-><init>()V

    .line 1853
    .local v5, result:Ljava/util/Map;,"Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;"
    if-eqz p0, :cond_1

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v7

    const/4 v8, 0x6

    if-le v7, v8, :cond_1

    .line 1854
    const-string v7, "\""

    invoke-virtual {p0, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v1

    .line 1856
    .local v1, elements:[Ljava/lang/String;
    array-length v7, v1

    const/4 v8, 0x3

    if-ne v7, v8, :cond_1

    .line 1857
    aget-object v7, v1, v9

    const-string v8, ","

    invoke-virtual {v7, v8}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v1

    .line 1858
    move-object v0, v1

    .local v0, arr$:[Ljava/lang/String;
    array-length v4, v0

    .local v4, len$:I
    const/4 v2, 0x0

    .local v2, i$:I
    :goto_0
    if-ge v2, v4, :cond_1

    aget-object v3, v0, v2

    .line 1859
    .local v3, item:Ljava/lang/String;
    const-string v7, "="

    invoke-virtual {v3, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v6

    .line 1861
    .local v6, subelements:[Ljava/lang/String;
    array-length v7, v6

    const/4 v8, 0x2

    if-ne v7, v8, :cond_0

    .line 1862
    const/4 v7, 0x0

    aget-object v7, v6, v7

    aget-object v8, v6, v9

    invoke-interface {v5, v7, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 1858
    :cond_0
    add-int/lit8 v2, v2, 0x1

    goto :goto_0

    .line 1867
    .end local v0           #arr$:[Ljava/lang/String;
    .end local v1           #elements:[Ljava/lang/String;
    .end local v2           #i$:I
    .end local v3           #item:Ljava/lang/String;
    .end local v4           #len$:I
    .end local v6           #subelements:[Ljava/lang/String;
    :cond_1
    return-object v5
.end method

.method public static reformatDateString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .locals 6
    .parameter "string"
    .parameter "formatSource"
    .parameter "formatDestination"

    .prologue
    const/4 v3, 0x0

    .line 1786
    if-nez p0, :cond_1

    .line 1801
    :cond_0
    :goto_0
    return-object v3

    .line 1789
    :cond_1
    new-instance v2, Ljava/text/SimpleDateFormat;

    invoke-direct {v2, p1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V

    .line 1790
    .local v2, formatter:Ljava/text/SimpleDateFormat;
    const/4 v0, 0x0

    .line 1792
    .local v0, dateValue:Ljava/util/Date;
    :try_start_0
    invoke-virtual {v2, p0}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
    :try_end_0
    .catch Ljava/text/ParseException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v0

    .line 1797
    :goto_1
    if-eqz v0, :cond_0

    .line 1798
    new-instance v2, Ljava/text/SimpleDateFormat;

    .end local v2           #formatter:Ljava/text/SimpleDateFormat;
    invoke-direct {v2, p2}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V

    .line 1799
    .restart local v2       #formatter:Ljava/text/SimpleDateFormat;
    invoke-virtual {v2, v0}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;

    move-result-object v3

    goto :goto_0

    .line 1794
    :catch_0
    move-exception v1

    .line 1795
    .local v1, e:Ljava/text/ParseException;
    sget-object v4, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v5, "Utils"

    invoke-virtual {v4, v5, v1}, Lcom/burstly/lib/util/LoggerExt;->logThrowable(Ljava/lang/String;Ljava/lang/Throwable;)V

    goto :goto_1
.end method

.method public static scale(I)F
    .locals 1
    .parameter "originalSize"

    .prologue
    .line 1638
    sget-object v0, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-static {v0, p0}, Lcom/burstly/lib/util/Utils;->scale(Landroid/content/Context;I)F

    move-result v0

    return v0
.end method

.method public static scale(Landroid/content/Context;I)F
    .locals 2
    .parameter "context"
    .parameter "originalSize"

    .prologue
    .line 1627
    invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->density:F

    int-to-float v1, p1

    mul-float/2addr v0, v1

    return v0
.end method

.method public static scaleToDip(Ljava/lang/Integer;)Ljava/lang/Integer;
    .locals 2
    .parameter "originalSize"

    .prologue
    .line 1648
    if-nez p0, :cond_0

    .line 1652
    .end local p0
    :goto_0
    return-object p0

    .line 1651
    .restart local p0
    :cond_0
    sget-object v1, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v1

    invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v1

    iget v0, v1, Landroid/util/DisplayMetrics;->density:F

    .line 1652
    .local v0, density:F
    invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I

    move-result v1

    int-to-float v1, v1

    div-float/2addr v1, v0

    float-to-int v1, v1

    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p0

    goto :goto_0
.end method

.method public static setApplicationContext(Landroid/content/Context;)V
    .locals 1
    .parameter "context"

    .prologue
    .line 613
    sget-object v0, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    if-nez v0, :cond_0

    .line 614
    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    sput-object v0, Lcom/burstly/lib/util/Utils;->sApplicationContext:Landroid/content/Context;

    .line 616
    :cond_0
    return-void
.end method

.method public static setBackgroundDrawable(Landroid/view/View;Landroid/graphics/drawable/Drawable;)V
    .locals 2
    .parameter "view"
    .parameter "drawable"
    .annotation build Landroid/annotation/TargetApi;
        value = 0x10
    .end annotation

    .prologue
    .line 757
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v1, 0x10

    if-lt v0, v1, :cond_0

    .line 758
    invoke-virtual {p0, p1}, Landroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V

    .line 762
    :goto_0
    return-void

    .line 760
    :cond_0
    invoke-virtual {p0, p1}, Landroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V

    goto :goto_0
.end method

.method public static setCurrentThreadPriority(I)V
    .locals 1
    .parameter "priority"

    .prologue
    .line 2037
    :try_start_0
    invoke-static {p0}, Landroid/os/Process;->setThreadPriority(I)V
    :try_end_0
    .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_0
    .catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_1

    .line 2045
    :goto_0
    return-void

    .line 2039
    :catch_0
    move-exception v0

    goto :goto_0

    .line 2042
    :catch_1
    move-exception v0

    goto :goto_0
.end method

.method public static setHardwareAcceleration(Landroid/view/View;Z)V
    .locals 4
    .parameter "view"
    .parameter "hwFlag"
    .annotation build Landroid/annotation/TargetApi;
        value = 0xb
    .end annotation

    .prologue
    const/4 v2, 0x0

    .line 359
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v1, 0xb

    if-lt v0, v1, :cond_1

    .line 360
    if-nez p1, :cond_0

    .line 361
    const/4 v0, 0x1

    invoke-virtual {p0, v0, v2}, Landroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V

    .line 368
    :goto_0
    return-void

    .line 363
    :cond_0
    const/4 v0, 0x2

    invoke-virtual {p0, v0, v2}, Landroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V

    goto :goto_0

    .line 366
    :cond_1
    sget-object v0, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v1, "Utils"

    const-string v2, "This device doesn\'t support hardware acceleration control."

    const/4 v3, 0x0

    new-array v3, v3, [Ljava/lang/Object;

    invoke-virtual {v0, v1, v2, v3}, Lcom/burstly/lib/util/LoggerExt;->logDebug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_0
.end method

.method private static setScreenInfo(Landroid/content/Context;Lcom/burstly/lib/network/beans/UserAgentInfo;)V
    .locals 5
    .parameter "context"
    .parameter "userAgent"

    .prologue
    const/high16 v4, 0x3f80

    .line 1569
    new-instance v1, Landroid/util/DisplayMetrics;

    invoke-direct {v1}, Landroid/util/DisplayMetrics;-><init>()V

    .line 1570
    .local v1, metrics:Landroid/util/DisplayMetrics;
    check-cast p0, Landroid/app/Activity;

    .end local p0
    invoke-virtual {p0}, Landroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;

    move-result-object v2

    invoke-interface {v2}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v2

    invoke-virtual {v2, v1}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V

    .line 1571
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    iget v3, v1, Landroid/util/DisplayMetrics;->widthPixels:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "x"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    iget v3, v1, Landroid/util/DisplayMetrics;->heightPixels:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setScreenResolution(Ljava/lang/String;)V

    .line 1573
    const-string v0, ""

    .line 1574
    .local v0, density:Ljava/lang/String;
    sget v2, Landroid/os/Build$VERSION;->SDK_INT:I

    const/4 v3, 0x4

    if-ge v2, v3, :cond_3

    .line 1575
    iget v2, v1, Landroid/util/DisplayMetrics;->density:F

    cmpg-float v2, v2, v4

    if-gez v2, :cond_1

    .line 1576
    const-string v0, "Low"

    .line 1585
    :cond_0
    :goto_0
    invoke-virtual {p1, v0}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setDensity(Ljava/lang/String;)V

    .line 1586
    iget v2, v1, Landroid/util/DisplayMetrics;->densityDpi:I

    invoke-virtual {p1, v2}, Lcom/burstly/lib/network/beans/UserAgentInfo;->setAndroidDensityId(I)V

    .line 1587
    return-void

    .line 1577
    :cond_1
    iget v2, v1, Landroid/util/DisplayMetrics;->density:F

    cmpl-float v2, v2, v4

    if-nez v2, :cond_2

    .line 1578
    const-string v0, "Medium"

    goto :goto_0

    .line 1579
    :cond_2
    iget v2, v1, Landroid/util/DisplayMetrics;->density:F

    cmpl-float v2, v2, v4

    if-lez v2, :cond_0

    .line 1580
    const-string v0, "High"

    goto :goto_0

    .line 1583
    :cond_3
    invoke-static {v1}, Lcom/burstly/lib/util/DensityDpiProvider;->getDisplayDensity(Landroid/util/DisplayMetrics;)Ljava/lang/String;

    move-result-object v0

    goto :goto_0
.end method

.method private static setScreenInfo(Landroid/content/Context;Lcom/burstly/lib/service/ServerRequestBean;)V
    .locals 5
    .parameter "context"
    .parameter "bean"

    .prologue
    const/high16 v4, 0x3f80

    .line 1543
    new-instance v1, Landroid/util/DisplayMetrics;

    invoke-direct {v1}, Landroid/util/DisplayMetrics;-><init>()V

    .line 1544
    .local v1, metrics:Landroid/util/DisplayMetrics;
    check-cast p0, Landroid/app/Activity;

    .end local p0
    invoke-virtual {p0}, Landroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;

    move-result-object v2

    invoke-interface {v2}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v2

    invoke-virtual {v2, v1}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V

    .line 1545
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    iget v3, v1, Landroid/util/DisplayMetrics;->widthPixels:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "x"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    iget v3, v1, Landroid/util/DisplayMetrics;->heightPixels:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v2}, Lcom/burstly/lib/service/ServerRequestBean;->setScreenResolution(Ljava/lang/String;)V

    .line 1547
    const-string v0, ""

    .line 1548
    .local v0, density:Ljava/lang/String;
    sget v2, Landroid/os/Build$VERSION;->SDK_INT:I

    const/4 v3, 0x4

    if-ge v2, v3, :cond_3

    .line 1549
    iget v2, v1, Landroid/util/DisplayMetrics;->density:F

    cmpg-float v2, v2, v4

    if-gez v2, :cond_1

    .line 1550
    const-string v0, "Low"

    .line 1559
    :cond_0
    :goto_0
    invoke-virtual {p1, v0}, Lcom/burstly/lib/service/ServerRequestBean;->setDensity(Ljava/lang/String;)V

    .line 1560
    return-void

    .line 1551
    :cond_1
    iget v2, v1, Landroid/util/DisplayMetrics;->density:F

    cmpl-float v2, v2, v4

    if-nez v2, :cond_2

    .line 1552
    const-string v0, "Medium"

    goto :goto_0

    .line 1553
    :cond_2
    iget v2, v1, Landroid/util/DisplayMetrics;->density:F

    cmpl-float v2, v2, v4

    if-lez v2, :cond_0

    .line 1554
    const-string v0, "High"

    goto :goto_0

    .line 1557
    :cond_3
    invoke-static {v1}, Lcom/burstly/lib/util/DensityDpiProvider;->getDisplayDensity(Landroid/util/DisplayMetrics;)Ljava/lang/String;

    move-result-object v0

    goto :goto_0
.end method

.method public static sha1(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .locals 6
    .parameter "raw"
    .parameter "defaultHash"

    .prologue
    .line 1197
    :try_start_0
    const-string v2, "SHA-1"

    invoke-static {v2}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;

    move-result-object v1

    .line 1198
    .local v1, sha1:Ljava/security/MessageDigest;
    invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/security/MessageDigest;->update([B)V

    .line 1199
    invoke-virtual {v1}, Ljava/security/MessageDigest;->digest()[B

    move-result-object v2

    invoke-static {v2}, Lcom/burstly/lib/util/Utils;->bytesToString([B)Ljava/lang/String;
    :try_end_0
    .catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object p1

    .line 1204
    .end local v1           #sha1:Ljava/security/MessageDigest;
    .end local p1
    :goto_0
    return-object p1

    .line 1201
    .restart local p1
    :catch_0
    move-exception v0

    .line 1202
    .local v0, e:Ljava/security/NoSuchAlgorithmException;
    sget-object v2, Lcom/burstly/lib/util/Utils;->LOG:Lcom/burstly/lib/util/LoggerExt;

    const-string v3, "Utils"

    const-string v4, "SHA-1 algorithm implementation is not found on device!"

    const/4 v5, 0x0

    new-array v5, v5, [Ljava/lang/Object;

    invoke-virtual {v2, v3, v4, v5}, Lcom/burstly/lib/util/LoggerExt;->logWarning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    goto :goto_0
.end method

.method public static shuffle(Ljava/util/List;)Ljava/util/List;
    .locals 1
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;)",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .prologue
    .line 457
    .local p0, srcServerList:Ljava/util/List;,"Ljava/util/List<Ljava/lang/String;>;"
    const/4 v0, 0x0

    invoke-static {p0, v0}, Lcom/burstly/lib/util/Utils;->shuffle(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;

    move-result-object v0

    return-object v0
.end method

.method public static shuffle(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
    .locals 2
    .parameter
    .parameter "primaryHost"
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;",
            "Ljava/lang/String;",
            ")",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .prologue
    .line 442
    .local p0, srcServerList:Ljava/util/List;,"Ljava/util/List<Ljava/lang/String;>;"
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0, p0}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V

    .line 443
    .local v0, result:Ljava/util/List;,"Ljava/util/List<Ljava/lang/String;>;"
    invoke-static {v0}, Ljava/util/Collections;->shuffle(Ljava/util/List;)V

    .line 444
    if-eqz p1, :cond_0

    .line 445
    const/4 v1, 0x0

    invoke-interface {v0, v1, p1}, Ljava/util/List;->add(ILjava/lang/Object;)V

    .line 447
    :cond_0
    return-object v0
.end method

.method public static toJson(Ljava/lang/Object;)Ljava/lang/String;
    .locals 1
    .parameter "object"

    .prologue
    .line 431
    sget-object v0, Lcom/burstly/lib/util/Utils;->JSON_PROCESSOR:Lcom/burstly/lib/util/json/IJsonProcessor;

    invoke-interface {v0, p0}, Lcom/burstly/lib/util/json/IJsonProcessor;->toJson(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static writeToOutput(Ljava/io/InputStream;Ljava/io/OutputStream;)V
    .locals 3
    .parameter "in"
    .parameter "out"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 1664
    const/16 v2, 0x1000

    new-array v0, v2, [B

    .line 1666
    .local v0, b:[B
    :goto_0
    invoke-virtual {p0, v0}, Ljava/io/InputStream;->read([B)I

    move-result v1

    .local v1, read:I
    const/4 v2, -0x1

    if-eq v1, v2, :cond_0

    .line 1667
    const/4 v2, 0x0

    invoke-virtual {p1, v0, v2, v1}, Ljava/io/OutputStream;->write([BII)V

    goto :goto_0

    .line 1669
    :cond_0
    return-void
.end method
